메세지는 객체들이 협력하기 위해 사용할 수 있는 유일한 의사소통 수단

한 객체가 다른 객체에게 도움을 요청하는 것을 메시지 전송이라고 한다.

이 때 메시지를 전송하는 객체를 메시지 전송자

메시지는 오퍼레이션명과 인자로 구성되어 있다.

메시지 전송은 이 메시지 에다가 메시지 전송자를 추가한 것이다.

객체가 의사소통을 위해 외부에 공개하는 메시지의 집합을 퍼블릭 인터페이스라고 부른다.

프로그래밍 언어의 관점에서 퍼블릭 인터페이스에 포함된 메시지를 오퍼레이션이라고 부른다.

퍼블릭 인터페이스의 품질에 영향을 미치는 4가지

  1. 디미터 법칙
  2. 묻지 말고 시켜라
  3. 의도를 드러내는 인터페이스
  4. 명령-쿼리 분리

디미터 법칙

클래스를 캡슐화하기 위해 따라야 하는 구체적인 지침이다. 디미터 법칙을 따르기 위해서는 클래스가 특정한 조건을 만족하는 대상에게만 메시지를 전송하도록 프로그래밍해야 한다.

클래스 내부의 메서드가 아래 조건을 만족하는 인스턴스에만 메시지를 전송하도록 프로그래밍 해야 한다.

  1. this 객체
  2. 메서드의 매개변수