6. 절차, 객체 지향 정리
앞선 절차 지향의 단점과 비교하였을 때,
객체 지향에서는 현실 세계의 모든 것을 객체라는 개념을 통한 모델링 및 추상화 과정을 거치며,
현실 세계의 요구사항을 프로그램이라는 일련의 가상 세계로 그대로 가져와서 문제를 해결하고자 함
1. 절차 지향 vs 객체 지향
- 현실 세계를 최대한 모사하여 시뮬레이션하기 때문에 프로그램을 작성하는 과정이 보다 직관적이고, 그에 따라 가독성과 유지보수성이 자연스럽게 높아짐
- 새로운 비즈니스 요구사항이 추가되더라도, 객체를 통해 개념적으로 쉽게 확장할 수 있음
| 구분 | 절차 지향 (Procedural) | 객체 지향 (Object) |
|---|---|---|
| 패러다임 | 함수(절차) 중심 | 객체(class) 와 객체 간 협력 중심 |
| 데이터 관리 | 데이터와 함수가 분리됨 | 객체 내에서 데이터와 메서드를 캡슐화 |
| 재사용성 | 함수는 재사용 가능하지만 데이터와 분리 | 객체를 재사용 가능 |
⚠️
Warning
사실 C 언어에서도 구조체(Struct)를 통해 데이터와 함수 포인터를 묶어서 수동으로 직접 구현할 수는 있지만 구현이 복잡하고 번거로움
또한 C 언어 자체가 객체 지향의 메커니즘을 지원하진 않음(ex. 인터페이스, 캡슐화 등)
Last updated on