멍멍이네 블로그

가장 큰 차이는 C는 절차지향언어이고, C#은 객체지향언어이다.

 

절차지향언어란?

1.

컴퓨터에서 연산, 대입, 판단, 입출력, 실행 순서 등의 기본적인 처리를 쉽게 기술할 수 있고, 그런 실행 순서(절차)를 지정해서 프로그램을 작성하기 위한 프로그래밍 언어COBOL, FORTRAN, PL/Ⅰ 등 절차를 명확한 계산법으로서 용이하게 표현되는 문제 지향 언어. 원칙으로 쓰여질 순서에 구문 요소가 실행되는 프로그램 언어이다. 일반용 고수준 프로그래밍 언어의 대부분은 절차 중심 언어이다. 비절차 언어(non procedural language)와 대비된다.

[네이버 지식백과] 절차 지향 언어 [procedure-oriented language] (컴퓨터인터넷IT용어대사전, 2011. 1. 20., 일진사)

 

 

2. 절차 지향(구조적) 프로그래밍
절차 지향 프로그래밍은 소프트 웨어를 개발하는데 기능 또는 구조위주의 관점으로 바라보면서 원하는 기능을 하향식(폭포식,Top Down)
으로 세분화 구체화 하여 해결책을 찾아가는 개발 방법이다. ( 접근 방법 : 분할정복 )

장점은
1. 기능 단위로 수행하기 때문에 해결책을 구하기쉽다.
2. 개발 기간이 짧다.

단점
1. 요구 변환에 약하다( 유지보수 비용 증가)
2. 분석에서 설계로의 전이과정이 힘들다.
3. 잦은 변경이 불가능하고 하향식이라 한쪽을 변경하면 다른쪽에 영향을 준다.
4. 대형 프로젝트에 적합하지 않다.

 

 

객체지향언어란?

1. 객체 중심 프로그래밍을 위해 사용되는 언어로 연산문들의 집합으로 이루어진다. 객체는 자료와 프로그램추상화로써 구현되는데, 연산하고자 하는 여러 가지 객체들 속에서 그 연산들의 정의가 나타나며 동시에 객체에 대한 정의는 그들 연산의 여러 가지 측면에서 나타난다.

[네이버 지식백과] 객체 지향 언어 [object-oriented language, 客體指向言語, きゃくたいしこうげんご] (용어해설)

2. 객체 지향 프로그래밍
객체 지향 프로그래밍은 소프트 웨어를 개발하는데 데이터 위주의 관점으로 바라보면서 구체적인 데이터들간의 상호 관계를
정의함으로써 상향식(Bottom Up)으로 해결책을 찾아가는 개발 방법이다.
이러한 데이터들의 상호 관계를 위주이기 때문에 복잡한 네트워크 구조가 된다.( 접근 방법 : 상호 관계 정의 )

장점
1. 유지 보수가 용이하다.
2. 요구 사항의 변화에 쉽게 대처한다.
3. 분석과 설계단계로 전이 과정이 쉽다.
4. 대형 프로젝트에 적합하다.

단점
1. 대형 시스템의 경우 상속구조나 객체간의 상호 작용이 너무 복잡해질수 있다.
2. 서브 시스템의 정의 방법이 제대로 정립되지 않았다.

 

 

 

네이버 지식백과와 지식인 참조함.

지식인 : http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=1040101&docId=187331092&qb=Y+yWuOyWtCDqsJ3ssrTsp4DtlqU=&enc=utf8&section=kin&rank=2&search_sort=0&spq=0&pid=SFQGvsoRR1sssvWmGtZsssssssG-320430&sid=qXgftZxDZlZX%2Bqc7gg7Nzw%3D%3D

 

객체지향적 프로그램은 다형성과 확장성을 추구하는 프로그래밍.