서론
- 객체지향에 입문한 사람들의 가장 큰 실수
→ ‘협력’을 고려하지 않고 객체가 뭘 갖고 뭘 할 수 있는지부터 생각하는 것
→
객체지향에서 중요한 것은 ‘협력’
→ 객체들이 어떻게 서로 협력해내는지
→ 어떤 협력에 참여하는지 ⇒ 객체가 필요한 행동 결정
→ 객체가 필요한 행동 ⇒ 객체가 가질 상태 결정
협력
요청하고 응답하며 협력하는 사람들
- 협력은 여러 객체가 참여하며, 연쇄적으로 이루어짐
→ 시작은 한 객체가 도움을 청할 때 시작
→ 처리를 할 수 있을 것 같은 다른 객체에 요청을 보냄
재판 속의 협력

- 누군가가 왕에게 재판을
요청
- 왕이 하얀 토끼에게 증인을 부를 것을
요청
- 요청을 받은 토끼는 모자 장수에게 증인석으로 입장할 것을
요청
- 모자 장수는 증인석에 입장함으로써 토끼의 요청에
응답 = 토끼의 왕의 요청에 대한 응답
- 왕은 모자 장수에게 증언할 것을
요청
- 모자 장수는 알고 있는 내용을 증언하여 왕의 요청에 대해
응답
- 누군가 ⇒ 왕 : 재판하라
→ 왕은 재판을 수행할 의무가 있음 & 재판에 필요한 지식이 있음
- 왕 ⇒ 토끼 : 목격자 불러와라
→ 토끼는 목격자에 대해 알고 있음 & 목격자를 부를 의무가 있음
- 왕 ⇒ 모자 장수 : 증언하라
→ 모자 장수는 증언할 내용을 알고 있음 & 증언할 의무가 있음