책임 : 객체가 수신할 수 있는 메시지의 기반
오퍼레이션명 + 인자 = 메시지 / 메시지 수신자 + 메시지 = 메시지 전송
-> ex) isSatisfiedBy(screening) = 메시지 / condition.isSatisfiedBy(screening) = 메시지 전송
퍼블릭 인터페이스에 포함된 메시지 : 오퍼레이션 / 실제 구현을 포함 : 메서드
-시그니처 : 메서드의 이름과 인자의 목록 (반환타입을 포함하거나 포함하지 않는 언어가 존재)
어떻게 수행하는지를 드러내는 이름은 내부 구현을 설명하기에 변경에 취약하다.
-> isSatisFiedByPeriod() 와 같은 메서드명은 내부 구조를 알고 있다.
-> 결과와 목적만 포함하도록 이름을 부여하라
디미터 법칙과 묻지 말고 시키는 원칙을 지켰다면 어떤 이름이 드러나야 하는지도 생각하자