객체 지향 (Object Oriented)

 

절차형 프로그래밍과 객체지향 프로그래밍

- C같은 예전 프로그램은 기능을 나열하는 방법의 프로그램을 지원한다. 함수와 서브루틴, 변수들로 이루어져 있다.

- 반면, 현실 세계는 객체들로 이루어져 있고, 각 객체들의 동작과 속성, 상호작용으로 이루어져 있다.

- 현실 세계와 닮은 프로그래밍이 바로 객체지향이다.

 

객체

- 데이터와 프로시져들의 집합 생태를 가지고 독자성을 가지며 각 객체마다 고유한 행동이 있다.

- 프로그램에서는 상태를 변수로 행동은 메소드로 정의한다.

 

 

 

 

캡슐화 (Encapsulation)

 

캡슐화

- 객체의 생태와 행동을 객체 내부에서 구현한다. 외부에서는 내부를 몰라도 조작이 가능하다.

- 버튼을 누른다 -> missile이 발사된다. (버튼 누르는 사람이 과연 모든걸 알고있을까요..?)

 

캡슐화의 이점

-  간결한 코드 : 코드가 간결하고 가독성이 높다

- 모듈화: 코드들은 객체 내부에 들어있다. 외부에서 코드를 알아햐 할 필요가 없다. 우리는 객체에게 명령만 하면 되는 것이다.

- 정보 은닉: 내부 자료의 직접제어는 위험하다. 객체내의 변수제어를 안전한 방식으로만 가능하게 한다.

 

 

 

 

+ Recent posts