04. 역할, 책임, 협력
객체지향에서 협력이란?
객체 간의 메시지를 주고 받으면 그에 따른 비즈니스 로직을 수행하며 공동의 목표를 달성하는것
객체에게 책임이란 주어진기능, 역할을 잘 수행하는 의무가 있는것이라 표현할수있다.
두 분류로 나누자면
아는 것 (Knowing)
관련된 객체에 대해 아는것
자신이 유도하거나 계산할 수 있는 것에 관해 아는 것
하는 것 (Doing)
자신의 do 로 다른 객체의 활동을 제어하거나 조절하는것
자신의 do 로 다른 객체의 행동을 시작시키는것
책임과 메세지
하나의 책임에는 여러개의 메세지가 있을수있다.
책임은 협력을 위해 상위 개념으로 설명하는것이고 메세지는 상호협력을 강조하는 수단이다.
굳이 따지면 책임이 메세지 보다 상위 개념이라고 이해했다.
책임을 지키고 강조하기 위해 메세지가 있으므로 책임없는 메세지는 목적지 없는 차 와 같다.
역할
객체는 동일한 역할을 가진 객체에게 대체될 수 있다.
이렇게 대체되는것을 협력이라 표현할 수 있다. 역할을 통해 협력을 추상화 하는 것 이다.
객체의 모양을 결정하는 협력
앞서 이야기한 것처럼 객체의 행동을 예측하기 위해서는 해당 객체가 어떠한 문맥, 즉 어떠한 협력 관계 안에서 사용되는지를 먼저 고려해야 한다. 따라서, 협력을 먼저 설계하고, 협력 관계에 적절한 객체의 행동을 구성해야 한다.
Last updated