조영호의 『오브젝트 — 코드로 이해하는 객체지향 설계』를 읽으며 장 단위로 정리합니다. 클린 코드가 문장 수준, 리팩터링이 변형 수준, TDD가 작업 리듬이었다면 이 책은 설계 수준입니다 — 객체에게 어떤 책임을 주고, 객체들이 어떻게 협력하게 할 것인가.
책을 관통하는 예제는 둘입니다.
- 영화 예매 시스템 — 2장에서 객체지향답게 등장했다가, 4장에서 일부러 데이터 중심으로 망가뜨리고, 5장에서 책임 주도 설계로 되살립니다. 같은 문제의 세 가지 설계를 나란히 볼 수 있는 드문 구성.
- 핸드폰 과금 시스템 — 10장에서 상속으로 시작해 11장에서 합성으로 갈아타고, 14장에서 일관성 있는 협력으로 완성됩니다.
두 예제 모두 코드가 장을 넘어 진화하므로, 노트에서는 스텝 플레이어의 diff로 설계가 바뀌는 순간을 기록합니다.
