메시지와 메서드메시지는 한 객체가 다른 객체와 의사소통할 수 있는 유일한 방법이다.객체가 다른 객체에게 협력을 요청하기 위해서는 메시지를 전송해야 한다.메서드는 메시지를 수신한 객체가 메시지를 처리하기 위해 수행하는 행동을 의미한다.동일한 메시지를 전송하더라도 메시지를 수신한 객체는 자신의 타입에 맞는 적절한 메서드를 선택한 후 실행할 수 있다.메시지를 수신할 수 있는 어떤 객체라도 협력에 참여할 수 있다. 즉, 메시지는 협력 대상을 플러그인 할 수 있는 슬롯 역할이 되는 것이다.메시지와 메서드를 분리하는 이유는? 의존성을 제어해서 내부의 데이터가 변경되거나 타입이 바뀔 때의 파급 효과를 제어하기 위해서이다. 즉 쉽게 수정할 수 있는 코드를 작성하기 위해서이다. 변경하기 쉬운 구조를 설계하기 위해서는 메..