프로그래밍/공부

객체지향의 사실과 오해_00

개념있는식빵 2020. 3. 18. 09:58

☆공부한 내용☆

객체, 상태, 행동 중 상태에 관하여

 

-과거에 발생한 행동의 이력을 통해 현재 발생한 행동의 결과를 판단하는 방식은 복잡하고 번거로우며 이해하기 어렵다.

-> 행동의 과정, 결과를 기술하기 위해 상태라는 개념을 만들었다.

 

ex) 항공권의 발권 상태를 보고 비행기 탑승 가능 여부 예측가능

     자판기는 현재까지 투입된 금액의 상태를 기억함

     텔레비전 전원이 들어온 상태여야만 채널변경 가능

 

-> 상태 이용 시 과거의 모든 행동 이력을 설명하지 않고도 행동의 결과를 쉽게 예측 가능

 

객체의 상태 = 값 + 객체의 조합

객체의 상태를 구성하는 모든 특징 = 객체의 프로퍼티(property)

ex) 앨리스의 키, 위치, 음료

 

일반적으로 프로퍼티는 변경되지 않고 고정되기 때문에 '정적'

프로퍼티 값(property value)는 시간이 흐름에 따라 변경되기 때문에 '동적'

 

객체 간의 선 - 링크

객체를 구성하는 단순한 값 = 속성(attribute)

ex) 앨리스의 키, 위치는 단순한 값으로 표현되기 때문에 속성임

객체의 프로퍼티 = 단순한 값인 속성 + 다른 객체를 가리키는 링크의 조합

 

*객체는 스스로의 행동에 의해서만 상태가 변경되는 것을 보장함으로써 객체의 자율성을 유지한다.