부스트캠프의 마스터 JK님의 추천으로 이책을 읽게 되었습니다. 책 이름처럼 흔히 생각하는 객체지향의 일반적 사고를 깨주면서 궁극적으로 좋은 소프트웨어를 만들기 위해 어떤 설계와 구조를 가지면서 소프트웨어를 구성해야하는지 소개하고 있습니다. 책에서 아마 가장 많이 나온 말 중에 하나가 역할, 책임, 협력 이 세가지 단어 라고 생각합니다. 객체지향을 설계할 때 객체 자체의 속성과 행동에 중점을 맞추지 말고 객체간의 협력에 중점을 맞춰서 객체가 가져야 할 역할과 역할을 수행하기 위한 책임을 중점으로 책의 내용이 구성되어 있습니다. 보통 객체지향하면 클래스가 우선적으로 생각나고 코드를 작성할 때도 각 객체가 가져야 할 속성과 객체에 필요한 메서드에 중점을 맞춰 구성을 하곤 했습니다. 이런 구조를 가지고 설계..