본문 바로가기

핵심 이론 파헤치기

객체 지향 프로그래밍의 이해 (OOP)

Object Oriented Programming


Procedural Programming란?


1. 명령이 순차적으로 실행

2. Procedural(기능)을 중요하게 생각한다.

(functions = routine = subroutine = procedural = method 언어마다 다른 이름으로 불린다.)

3. 함수를 이용해서 프로그래밍을 만들어가는 패러다임



- Procedural Programming과 대립되는 관계가 아니라,

Procedural Programming 기반 위에서 OOP 프로그래밍이 탄생.


- Procedural의 약점을 OOP가 보완해주는 것이라고 생각하자.


- 두가지를 분리하는 가장 큰 차이 :
Procedural Programming과 OOP 모두 함수를 가지고 있지만, OOP는 더 큰 틀인 정리 정돈을 할 수 있는 객체가 있다.





OOP


- 필요성 :


 양이 많아지고 복잡해진 코드를 정리하기 위해서 (관리 체계)


( 프로그래밍 분야는 소프트웨어, 즉 바꾸기 쉽다라는 뜻이지만,

인간이 감당할 수 없는 복잡도에 도달한 순간에는 더이상 소프트웨어라고 할 수 없다. )



- 정리 테크닉 방법

1) 기능을 제거하고 새로운 기능을 넣는다.

2) 있는 기능을 잘 정리정돈해서 그 기능을 작게 압축하는 것.



- OOP 방법


1. 연관된 함수와 변수를 묶어(Grouping) 적당한 이름(객체)을 붙인다. 

2. 호출 : 이름.함수명()


- OOP 핵심 :

서로 연관된 함수들을 다른 함수들과 구분되게 하는 것, 분류하는 것, 정리하는 것



* 객체지향은 프로그래밍의 패러다임중 하나. (상속, 다양성, 인터페이스 ... )