객체지향의 사실과 오해
127p 까지 읽기git
객체지향의 사실과 오해
협력과 책임, 메시지, 역할
협력 : 협력은 다수의 연쇄적인 요청과 응답의 흐름으로 구성된다. 요청을 받았다는 것은 요청을 응답하기 위해 필요한 정보와 행동을 가지고 있다는 의미이다. 즉, 요청과 응답은 객체에 수행할 책임을 정의한다.
책임 : 어떤 객체가 어떤 요청에 대해 대답해 줄 수 있거나, 적절한 행동을 할 의무가 있는 경우 책임을 가진다고 말한다. 하는 것(doing)과 아는 것(knowing)이라는 두 가지 책임을 가진다.
메시지 : 한 객체가 다른 객체에서 보낸 요청은 그 요청을 수신한 객체의 책임이 수행되게 한다. 이러한 과정을 메시지 전송이라고 한다. 두 객체간의 협력은 메시지를 통해 이뤄진다.
역할 : 어떤 하나의 협력 과정 속에서 서로 다른 객체지만 동일한 역할을 수행하는 객체들이 있다. 이상한 나라의 앨리스의 재판 예시처럼 말이다. 판사 역할을 하던 왕이 여왕으로 바뀌어도 가지는 책임과 메시지는 동일하다. 모자 장수와 요리사, 앨리스 또한 증인의 역할을 수행한다. 다시 말해 우리는 등장인물을 역할이라는 것을 통해 추상화할 수 있다. 역할만 남고 누가 그 역할을 하든지 관심이 없다는 뜻이다.
이 부분을 읽고 설계를 진행할 때, 그리고 추상화를 진행할 때 어떤 기준으로 진행하는 것이 맞는지 이해할 수 있었다. 내가 구현하려는 프로그램의 흐름을 파악하고 그 속에서 협력하는 객체들의 역할을 이해하려고 노력해야겠다는 생각이 들었다. 이번 미션에도 한번 적용해볼 수 있을지 궁금하다.
객사오 저도 읽고있는데 넘 잼씀다. 조금이라도 함께 성장하면되죠!
계획표에서 자극받고 갑니다 ㅎ_ㅎ
(헬스도 코딩도 점진적 과부화)