가장 흔한 오해는 애플리케이션이 클래스의 집합으로 구성된다는 것이다.

협력 안에서 객체가 수행하는 책임에 초점을 맞춰야 한다.

책임 : 객체가 수신할 수 있는 메시지의 기반.

중요한 재료는 객체들이 주고받는 메시지다.

→ 애플리케이션은 클래스로 구성되지만 메시지를 통해 정의된다는 사실을 기억하자.

협력과 메시지

클라이언트 - 서버 모델

협력의 관점에서 객체는 2가지 종류의 메시지 집합으로 구성

  1. 객체가 수신하는 메시지의 집합
  2. 외부의 객체에게 전송하는 메시지의 집합

객체가 독립적으로 수행할 수 있는 것보다 더 큰 책임을 수행하기 위해서는 다른 객체와 협력해야 한다는 것. 그리고 두 객체 사이의 협력을 가능하게 해주는 매개체가 바로 메시지라는 것이다.

메시지와 메시지 전송

오퍼레이션 명은 condition.isSatisfiedBy(sc); → 여기서 condition : 수신자, isSatisfiedBy : 오퍼레이션명, sc : 인자

메시지와 메서드