[c언어] 객체 지향 프로그래밍과 절차 지향 프로그래밍의 차이
프로그래밍은 객체 지향과 절차 지향 두 가지 주요 패러다임으로 나뉜다. 이 두 패러다임은 코드를 구조화하는 방식과 코드 재사용을 다루는 방식에서 차이가 있다.
절차 지향 프로그래밍
절차 지향 프로그래밍은 일련의 연속적인 단계로 이루어진다. 예를 들어, 데이터를 입력받아 처리한 후 출력하는 과정을 단계별로 처리한다. 주로 C
나 파스칼(Pascal)
과 같은 언어에서 사용된다.
int sum(int a, int b) {
return a + b;
}
int main() {
int num1 = 5;
int num2 = 10;
int result = sum(num1, num2);
printf("%d", result);
return 0;
}
객체 지향 프로그래밍
객체 지향 프로그래밍은 데이터와 해당 데이터를 처리하는 기능을 하나로 묶어서 다룬다. 객체는 데이터와 해당 데이터를 처리하는 메서드로 구성된다. Java
, C++
, Python
과 같은 많은 언어에서 사용된다.
class Calculator {
public:
int sum(int a, int b) {
return a + b;
}
};
int main() {
Calculator calc;
int result = calc.sum(5, 10);
cout << result;
return 0;
}
결론
두 패러다임은 코드의 구조와 재사용성 측면에서 차이가 있다. 절차 지향은 단계별 처리를 중심으로 하고, 객체 지향은 데이터와 해당 데이터를 처리하는 기능을 묶어서 다룬다. 선택은 사용하려는 언어와 프로젝트의 요구사항에 따라 달라진다.
참고문헌:
- https://en.wikipedia.org/wiki/Procedural_programming
- https://en.wikipedia.org/wiki/Object-oriented_programming