[DS] 객체지향(OOP) vs 절차지향(PP)
절차지향(Precedural Programming)
절차지향이란 개체를 순차적 처리가 중요하며, 프로그램 전체가 유기적으로 연결되어 있는 프로그래밍 방법입니다.
절차지향의 장점
① 컴퓨터의 처리구조와 유사하다는 점
② 실행 속도가 빠르다는 것
절차지향의 단점
① 유지보수가 어렵다는 점
- 프로그램의 한 부분이 고장나면 시스템 전체가 고장난다는 의미입니다.
- 즉, 한 부분이 고장나면 프로그램의 전체를 수리해야 됩니다.
- 디버깅(프로그램의 문제를 찾아내서 고치는 과정)이 어렵습니다.
② 엄격하게 순서가 정해져 있어 비효율적이라는 점
- 실행 순서가 정해져 있어서 코드의 순서가 바뀌면 결과가 바뀔 확률이 높습니다.
- 언어의 융통성이 부족하여 생산 효율이 낮습니다.
절차지향 언어
C 언어 등
객체지향(Object-Oriented Language)
객체란 추상적인 무언가인데, 사물이 될 수도 있고 사람이 될 수도 있습니다.
컴퓨터를 예를 들면 컴퓨터에 쓰이는 모든 부품(모니터, 키보드, 스피커 등)들이 객체입니다.
컴퓨터가 제공하는 모든 기능(화면 켜짐, 소리가 남 등)들은 객체의 행동이라고 할 수 있습니다.
객체지향은 여러 객체를 만들고 객체의 행동을 정의해서 이를 상호작용 하도록 만드는 프로그래밍 언어입니다.
객체지향의 장점
① 재사용성
'상속(inheritance)'가 가능하기 때문에 코드 재사용이 편리합니다.
② 생산성 증가
독립된 객체로 이루어져 있기 때문에 생산적으로 작업할 수 있습니다.
③ 유지 및 보수 용이
객체지향의 단점
① 느린 개발 속도
모든 객체의 역할과 기능을 이해하는 시간이 필요합니다.
② 느린 실행 속도
절차지향언어보다 실행 속도가 느립니다.
③ 높은 난이도
객체지향언어
C++
Java
Python
등
◡̈