의도는 “메시징”이다. 훌륭하고 성장 가능한 시스템을 만들기 위한 핵심은 모듈 내부의 속성과 행동이 어떤가보다는 모듈이 어떻게 커뮤니케이션하는가에 달려있다. - 앨런 케이

실험 이야기

실험에서 각 학생들은 같이 이야기를 들을 때와 1:1로 대화를 하고 있다고 생각할 때와 본인이 느끼고 있는 책임이 다르다 느꼈으며, 일이 생겼을 때 1:1일 때 보고할 책임을 명확하게 느껴 일이 생기는 즉시 신고했다고 한다.

이처럼 실생활에서도 책임이 명확해야 주어진 일을 수행하는 것을 이야기를 통해 전달한다.

자율적인 책임

설계의 품질을 좌우하는 책임(자율적인 객체)

각 객체들은 협력하기 위해 책임을 다하는데, 이 책임을 다하는 행위를 하기 위해서 자율적으로 판단하고 행동한다.

객체가 행동을 하는 유일한 이유는 다른 객체의 요청에 응답하기 위해서뿐이다.

때문에 요청에 응답하기 위한 책임을 받아서 각 객체가 맡은 역할에 스스로의 의지와 판단에 따라 각자 맡은 책임을 수행하는 객체가 자율적인 객체가 되는 것이다.

적적한 책임이 부여 된 객체들이 유연하게 모여서 협력하는 것이 전체 애플리케이션의 품질을 결정한다.

자신의 의지에 따라 증언할 수 있는 자유(객체의 자율성을 지키기 위해서는…)

4장에서 사용했던 앨리스 이야기의 재판 시나리오를 예시로

왕과 모자 장수에 관련한 이야기다.

모자 장수는 증언할 책임은 갖고 있지만, 왕이 상세한 명령을 모자 장수에게 요청한다면, 모자 장수의 책임인 ‘증언’은 남아있지만 모자 장수가 어떤 형식으로 증언할지 모자 장수의 자율성을 해치게 되는 것이다.

왕은 모자 장수의 책임증언 만 수행할 수 있다면 구체적인 방법이나 절차는 모자 장수에게 맡기는 것이다.

만약 상세하게 모자 장수에게 '목격했던 장면을 떠올려라'라고 요청한다면, 모자 장수의 책임인 증언 은 지킬 수 있지만, 모자 장수가 증언하기 위한 범위를 지나치게 제한되었을 때 그날의 상황을 생생히 기록한 메모를 손에 쥐고 있더라도 메모를 참조할 수 없다.

상세한 수준의 책임은 협력의 목표는 달성할 수 있을지 몰라도, 모자 장수가 누릴 수 있는 선택의 자유를 크게 훼손하고 만다. 또 이는 왕의 명령에 의존하는 형태가 될 것이고, 자율적인 책임을 수행할 수 없게 된다.