프로그래밍/공부
객체지향의 사실과 오해_00
개념있는식빵
2020. 3. 18. 09:58
☆공부한 내용☆
객체, 상태, 행동 중 상태에 관하여
-과거에 발생한 행동의 이력을 통해 현재 발생한 행동의 결과를 판단하는 방식은 복잡하고 번거로우며 이해하기 어렵다.
-> 행동의 과정, 결과를 기술하기 위해 상태라는 개념을 만들었다.
ex) 항공권의 발권 상태를 보고 비행기 탑승 가능 여부 예측가능
자판기는 현재까지 투입된 금액의 상태를 기억함
텔레비전 전원이 들어온 상태여야만 채널변경 가능
-> 상태 이용 시 과거의 모든 행동 이력을 설명하지 않고도 행동의 결과를 쉽게 예측 가능
객체의 상태 = 값 + 객체의 조합
객체의 상태를 구성하는 모든 특징 = 객체의 프로퍼티(property)
ex) 앨리스의 키, 위치, 음료
일반적으로 프로퍼티는 변경되지 않고 고정되기 때문에 '정적'
프로퍼티 값(property value)는 시간이 흐름에 따라 변경되기 때문에 '동적'
객체 간의 선 - 링크
객체를 구성하는 단순한 값 = 속성(attribute)
ex) 앨리스의 키, 위치는 단순한 값으로 표현되기 때문에 속성임
객체의 프로퍼티 = 단순한 값인 속성 + 다른 객체를 가리키는 링크의 조합
*객체는 스스로의 행동에 의해서만 상태가 변경되는 것을 보장함으로써 객체의 자율성을 유지한다.