프론트엔드
객체지향의 오해와 진실
xxoyeong
2020. 9. 1. 20:00
-앨리스의 키,위치,음료 = 정적프로퍼티
but, 시간의 흐름에 따라 프로퍼티의 값은 변함 (동적)
-행동: 다른 객체로 하여금 간접적으로 객체의 상태를 변경하는 것을 가능하게함
-객체는 자신의 상태 변경 협력과정(메세지)에서 다른 객체의 상태도 변경
객체가 외부에 노출하는 것은 행동뿐
외부에서 객체에 접근할 수 있는 유일한 방법 역시 행동
*상태는 외부에 노출x ex) drinkBeverage()
-상태를 잘 정의된 행동 뒤로 캡슐화하는 것은 객체의 자율성을 높이고 협력을 유연하게 만든다.
-프로퍼티 타입은 객체나 단순한 값 중 하나가 될 수 있다고 설명
객체는 가변상태, 객체는 상태를 가지며 상태는 변경가능
-상태를 중심으로 객체를 바라보지마라 행동이 상태를 결정한다.
객체의 행동을 먼저 결정하고 그 후에 행동에 적절한 상태를 선택하게 된다.
-현실세계인 도메인에서 사용되는 이름을 객체에게 부여하라
공통점을 기반으로 객체를묶기위한 그릇을 개념이라고 한다.
개념을 이용하여 객체를 여러그룹으로 분류가능
-개념이 객체에 적용됐을때 객체의 개념을 인스턴스라고 한다
개념을 이용해 공통점을 가진 객체들을 분류할 수 있다는 아이디어는 객체지향 패러다임이 복잡성을 극복하는데 사용 하는 가장 기본적 인지 수단
-어떤 객체를 어떤 개념으로 분류할지가 객체지향의 품질을 결정한다 -> 유지보수 편해짐
-최대한 직관적으로! 개념과 타입은 비슷