반응형
절차적 언어와 객체지향 언어를 나누는 기준
1. 캡슐화, 다형성, 클래스 상속을 지원하는가?
2. 데이터 접근 제한을 걸 수 있는가?
절차적 프로그래밍 & 객체지향 프로그래밍
절차적 프로그래밍 장점
- 객체나 클래스를 만들 필요 없이 바로 코딩할 수 있다.
- 필요한 기능을 함수로 만들기 때문에 같은 코드를 복사하지 않고 호출하여 사용할 수 있다.
- 프로그램의 흐름 추적이 쉽다.
절차적 프로그래밍 단점
- 각 코드가 매우 유기성이 높기 때문에 수정하기가 힘들다 (새로운 데이터나 기능 추가가 어려움)
- 프로그램 전체에서 코드를 재사용 할 수 없다.
- 오류 검사 (디버그)가 어렵다.
객체지향 프로그래밍 장점
- 모듈화, 캡슐화로 인해 유지보수에 용이하다.
- 객체 지향적이기 때문에 현실 세계와 유사성에 의해 코드를 이해하기 쉽게 만든다.
- 객체는 그 자체가 하나의 프로그램이기 때문에 다른 프로그램에서 재사용이 가능하다.
객체지향 프로그래밍 단점
- 대부분의 객체 지향 프로그램은 속도가 상대적으로 느려지고 많은 양의 메모리를 사용하는 경향이 있다.
- 현실 세계와 유사성에 의해 코드를 이해하기 쉽게 만드는 만큼 설계 과정에 시간이 많이 투자된다.
제가 생각하는 객체지향 프로그래밍의 최고 장점은 인터페이스 구현체를 바꿨을 때 모든 코드를 수정해 줘야 하지 않아도 손쉽게 적용시킬 수 있는 것이라고 생각합니다.
반응형
'IT 개념' 카테고리의 다른 글
[IT 개념] 리눅스 데몬(Daemon) 이란? (0) | 2022.12.16 |
---|---|
[DB기초] 트랜잭션(Transaction) 이란? (0) | 2022.03.09 |
[Window] 작업관리자 창 확인하는 법 (0) | 2022.01.07 |