본문 바로가기

Project

내가 생각하는 객체지향..?

카페모카님의 "나의 머리속 객체지향"을 읽고 나름대로 생각해본 객체지향이다.

객체
 각각 자신의 행동과 속성을 가진 프로그램의 단위. 모든 객체는 자신을 규정하고 있는 속성과
목적을 위한 행동을 가지고있다.

상속
 표현할 대상을 분류하기 위한 수단. 실세계(구현대상)를 컴퓨터로서 표현하기 위해
대상을 일정부분 나눠서 생각하지 않으면 안된다. 대상들을 비슷한 부분과 다른 부분으로
나누어 표현하기위한 기술중의 하나이다.
 
캡슐화
 객체를 추상화하기 위한 기술. 각각의 객체는 자신을 단순하게 표현함으로서 실제의 복잡한 행동을
감출수있다. 이것은 좀더 높은 추상화 수준(Layer)에서의 구현을 가능하게 해준다.

다형성
 
공통된 행동을 가진 객체가 있다면 같은 형태로 제어할 수 있다는 것. 자바에서는 이것을
구현하기 위해서 상속 및 인터페이스 라는 기술이 사용된다. 단 다른 언어에서는 각각 다른
방식으로 이 다형성을 지원하고있다.