객체지향의 목표는 실세계를 모방하는 것이 아니다. 오히려 새로운 세계를 창조하는 것이다.
상태와 행위를 '캡슐화'하는 객체의 '자율성'
객체지향은 객체를 지향하는 것이지 클래스를 지향하는 것이 아니다
1장에선 객체들의 행위를 카페를 빗대어서 이야기하고 있다. 각자의 역할에 따라 책임을 수행한다. 요청하고, 응답하고, 협력하는 모습이 객체 지향의 근본 개념과 유사하다
객체는 협력적이고 자율적이여야 한다.
= 객체는 상태(state), 행동(behavior), 식별자(identity)를 지닌 실체다.
객체의 상태를 구성하는 모든 특징을 통틀어서 객체의 프로퍼티(property)라고 한다
객체와 객체 사이의 의미 있는 연결을 링크(link)라고 한다
객체를 구성하는 단순한 값은 속성(attribute)라고 한다
= 객체의 프로퍼티는 단순한 값과 다른 객체를 참조하는 링크로 구분할 수 있다
행동이란 외부의 요청 또는 수신된 메세지에 응답하기 위해 동작하고 반응하는 활동이다.
객체는 자율적인 존재이다. 상태를 캡슐화 한다는 것은 객체의 자율성을 높이고 협력을 단순하고 유연하게 만든다.
추상화(abstraction)란 실제의 사물에서 자신이 원하는 특성만 취하고 필요 없는 부분을 추려 핵심만 표현한다.
2장에서 앨리스를 객체에 비유했다. 객체를 통합적인 시각에서 바라보는 것을 서술하고 있다. 객체를 설계할때는 상태가 아니라 행동에 초점을 맞춰야한다.
"행동이 상태를 결정한다"
평소에 명확하게 정의내리지 못한 단어들이 보기 쉽게 설명되어 있어서 이해하기 쉬웠다. 객체 지향에 대해 한 걸음 더 나아간 것 같다.