이번 글은 같이 스터디를 진행한 친구의 글을 옮긴 것이다. 원글은 여기에서 볼 수 있다. 객체 지향 설계 객체 지향 설계의 핵심은 역할, 책임, 협력이다. 협력은 애플리케이션의 기능을 구현하기 위해 메시지를 주고받는 객체들 사이의 상호작용이다. 책임은 객체가 다른 객체와 협력하기 위해 수행하는 행동이고, 역할은 대체 가능한 책임의 집합이다. 객체 지향 설계란 올바른 객체에게 올바른 책임을 할당하면서 낮은 결합도와 높은 응집도를 가진 구조를 창조하는 활동이다. 설계 품질 척도 캡슐화란? 객체 내부 구현을 외부로부터 감추는 것, 이렇게 하면 한 곳에서 일어난 변경이 전체 시스템에 영향을 끼치지 않는다. 이것은 객체 지향이 강력한 이유 중 하나 이기도 하다. 변경될 가능성이 높은 부분을 구현, 상대적으로 안정..
개발 공부를 하면서 객체지향이라는 말을 많이 들어왔다. 듣기만 듣고, 제대로 공부해본 적이 없어서 아직까지 그 의미를 명확히 알지 못한다. 예전에 SOLID에 대해 정리하면서 책임이니, 의존이니 하는 용어의 의미도 명확하게 정리되지 않은 채로 남아있다. 조영호 님의 오브젝트를 읽으며 친구와 스터디를 진행하기로 했다. 1, 2장은 각자 읽어보기로 하고 3장부터 한 챕터씩 맡아서 포스팅한 자료를 바탕으로 서로 설명해주면서 공부해나가기로 했다. 객체지향에서 가장 중요한 것은 역할, 책임, 협력 핵심은 협력을 구성하기 위해 적절한 객체를 찾고 적절한 책임을 할당하는 과정 협력 : 객체들이 애플리케이션의 기능을 구현하기 위해 수행하는 상호작용 책임 : 객체가 협력에 참여하기 위해 수행하는 로직 역할 : 객체들이 ..