[Remind] 객체지향

Dev.Jade·2022년 5월 21일
0

Remind

목록 보기
1/1

회사 동료로부터 2권의 책을 추천 받았습니다.

  • 객체지향의 사실과 오해
  • 오브젝트

객체지향의 사실과 오해라는 책을 어제부터 읽기 시작했고, 읽는 와중에 머릿속에 추상적으로 흩어져있던 개념들이 3개의 단어로 모든 것이 정리되기 시작하였습니다.

역할, 책임, 협력

판사와 증인
다음은 책에 인용되고 있는 이상한 나라의 앨리스의 일부 내용이다.

모자 장수는 증언을 마치고 나서 쏜살같이 법정을 빠져나갔다.

"다음 증인을 불러라"
왕이 하얀 토끼에게 명령했다. 다음 증인은 공작 부인의 요리사였다.

"증언하라"
왕이 말했다.

"싫어요."
왕이 근심스러운 얼굴로 하얀 토끼를 쳐다보자 토끼가 나지막이 속삭였다.
"반드시 심문해야 할 목격자입니다."
"글쎄, 반드시 그래야만 한다면 해야겠지."

그때 뒤에서 산쥐가 욜리사의 증언을 방해하자 얼마 동안 법정 안이 술렁거렸다.
결국 산쥐가 법정 밖으로 끌려나가고 법정이 다시 진정됐을 때는 요리사는 사라지고 없었다.

왕이 크게 안심한 목소리로 하얀 토끼에게 다시 명령했다.
"신경 쓸 것 없다! 다음 증인을 불러라."

그리고 왕은 목소리를 낮춰서 여왕에게 말했다.
"그런데 여보, 다음 증인은 당신이 심문해야만 되겠소. 나는 머리가 너무 아파졌다오."

앨리스는 하얀 토끼가 두루마리를 만지작거리는 것을 지켜보면서, 다음 증인이 어떨지 매우 궁금해했다.
그런데 놀랍게도, 하얀 토끼가 작고 가느다란 목소리를 한껏 높여서 부른 이름은 '앨리스'였다. 증인석에 입장한 앨리스의 귓가에 어김없이 커다란 목소리가 들려왔다.

"증언하라!"

다음 글을 통해, 판사와 증인이라는 역할을 추상화할 수 있다.
판사는 "왕"과 "여왕", 증인은 "모자장수", "요리사", "앨리스" 였다.
판사와 증인이라는 역할은 언제든지 대체될 수 있음을 알 수 있지만, 누구나 대체될 수는 없다. 대체하기 위해서는 행동이 호환돼야 한다. 증인이라는 역할을 대체하려면 그 객체가 증인석에 입장할 수 있고, 증언을 할 수 있어야 한다.

협력을 따라 흐르는 객체의 책임
올바른 객체를 설계하기 위해서는 먼저 견고하고 깔끔한 협력을 설계해야 한다. 협력을 설계한다는 것은 설계에 참여하는 객체들이 주고받을 요청과 응답의 흐름을 결정한다는 것을 의미한다. 이렇게 결정된 요청과 응답의 흐름은 객체가 협력에 참여하기 위해 수행될 책임이 된다.

  • 객체를 충분히 협력적으로 만든다.
  • 협력이라는 문맥 안에서 객체를 충분히 자율적으로 만든다.
profile
Role, Responsibility, Collaboration

0개의 댓글