2026/02 3

6장 메시지와 인터페이스 / 8장 의존성 관리하기

6장 메시지와 인터페이스애플리케이션은 클래스로 구성되지만, 메시지를 통해 정의된다.1. 협력과 메시지클라이언트 - 서버 모델클라이언트 - 서버 모델은 두 객체 사이의 협력관계 설명하기 위해 사용하는 메타포이다.객체가 독립적으로 수행할 수있는 것보다 더 큰 책임을 수행하기위해서는 다른 객체와 협력해야한다메시지 전송자와 수신자는 서로에 대한 상세한 정보를 모른 채 단지 메시지라는 얇은 끊으로 연결된다.수신가능한 메시지가 객체의 퍼블릭 인터페이스와 오퍼레이션을 결정한다2. 인터페이스 설계와 품질좋은 인터페이스는 최소한의 인터페이스(꼭 필요한 오퍼레이션만)와 추상적인 인터페이스(무엇을 하는지 표현 -> 메시지를 먼저 선택 / 메시지가 객체를 선택) 조건을 만족해야한다1. 디미터 법칙객체의 내부 구조에 대한 결합..

서적/Object 2026.02.24

5장 책임 할당하기

들어가며앞장에서 책임에 맞춰 설계 할 때 가장 큰 어려움은 어떤 객체에게 어떤 책임을 할당할 것인지 결정하기가 쉽지않다.책임할당 과정은 트레이드 오프 활동이다.같은 문제에 대한 다양한 책임 할당 방법이 존재한다 그 최선은 상황과 문맥에 따라 달리 판단된다1. 책임주도 설계를 향해데이터 중심 설계에서 책임 주도 설계로 전환은 2가지 원칙을 따라야한다데이터 보다 행동을 먼저 결정하라협력이라는 문맥 안에서 결정하라1. 데이터 보다 행동을 먼저 결정하라객체에게 중요한 것은 데이터가 아니라 외부에 제공하는 행동이다.클라이언트 관점에서 객체가 수행하는 행동이란 곧 객체의 책임이다.질문의 순서를 바꾸는 것이 중요하다이 객체게 수행해야하는 책임은 무엇인가 -> 이 책임을 수행해야하는 데이터가 무엇인가즉 책임을 먼저 결..

서적/Object 2026.02.08

4장 설계품질과 트레이드 오프

지난 내용 정리OOP의 핵심은 역할, 책임, 협력이다협력 : 애플리케이션 기능 구현하기 위해 메시지를 주고 받는 객체들의 상호작용책임 : 객체가 다른 객체와 협력하기 위해 수행하는 행동역할 : 대체 가능한 책임1. 데이터 중심의 예매시스템책임이 무엇인가 VS 데이터가 무엇인가?데이터 중심 관점데이터 조작을 위한 오퍼레이션 정의객체의 상태에 초점을 맞춰 구현객체는 독립된 데이터 덩어리책임 중심 관점다른 객체가 요청할 수있는 오퍼레이션을 위해 필요한 상태 보관객체의 행동에 초점객체는 협력하는 공동체의 일원채택둘중 책임을 택한다. 그 이유는 '변경'이다.데이터 중심 설계객체 내부에 저장되어있는 데이터를 기반으로 시스템을 분할하는 방법이다.이 경우 멤버 변수간 배타적 사용 형태와 분기 처리 방식으로 진행된다2...

서적/Object 2026.02.03