01 / 협력하는 객체들의 공동체
이 책은 책 처음부터 끝까지 우리가 객체지향에 대해 어떻게 잘못알고 있는지,
실제 객체지향의 세계는 어떤 것이며 그 세계를 이해하기 위한 개념들 설명하고 있다.
1장은 이 서사를 풀기 위해 기본적으로 알고 있어야 할 개념들,
객체란 무엇이고 우리가 어떻게 오해하고 있었으며 객체 세계에서 협력과 책임이란 무엇인지를 말한다.
도입
객체지향 목표에 대한 오해
- 객체지향의 목표
- 실세계를 모방하는 것 (X)
- 사용자를 만족시킬 새로운 객체 세계를 창조하는 것 (O)
- 실세계 객체와 객체지향 객체는 다를 수 있다.
- 그럼에도 실세계에 대입하여 비유하는 이유는 객체의 상태와 행위를 설명하기 효과적이기 때문
- 객체의 상태 : 객체의 캡슐화, 자율성
- 객체의 관계 : '메시지'를 주고받으며 '협력'해 나가는 관계
협력하는 사람들
커피 공화국의 아침
- 손님 -> 캐셔 : 커피를 주문한다
- 캐셔 -> 바리스타 : 커피 제조를 요청한다
- 바리스타 -> 캐셔 : 완성된 커피를 전달한다
- 캐셔 -> 손님 : 완성된 커피를 전달한다.
커피 공화국의 역할과 책임
- 손님, 캐셔, 바리스타는 다른 사람으로 대체될 수도 있다.
- 손님, 캐셔, 바리스타가 각각 여러명인 경우 각 역할구분 내에서 역할 대체 가능하다
- 손님, 캐셔, 바리스타는 서로의 업무에 대해 다 알고 있을 필요가 없다.
- 캐셔, 바리스타를 한 사람이 동시에 맡아 수행할 수 있다.
역할, 책임, 협력
- 여러 사람이 동일한 역할을 수행할 수 있다.
- 역할은 대체 가능성을 의미한다
- 책임을 수행하는 방법은 자율적으로 선택할 수 있다.
- 한 사람이 동시에 여러 역할을 수행할 수 있다.
협력 속에 사는 객체
- 객체는 충분히 '협력적' 이어야 한다.
- 다른 객체 요청에 충실히 귀를 기울여야 한다.
- 협력을 꺼리고 모든 것을 스스로 처리하려는 '전지전능한 객체'는 내부 복잡도에 의해 자멸한다.
- 객체는 충분히 '자율적' 이어야 한다.
- 객체는 스스로 판단하고 결정해야 한다
- 캐셔가 바리스타에게 커피 제조법을 가용하지 않듯, 각 객체는 외부요인에 의해 결정되면 안된다.
'Book > 객체지향의 사실과 오해' 카테고리의 다른 글
[정리] 객체지향의 사실과 오해 - 6장 (0) | 2022.12.31 |
---|---|
[정리] 객체지향의 사실과 오해 - 5장 (0) | 2022.12.30 |
[정리] 객체지향의 사실과 오해 - 4장 (0) | 2022.12.29 |
[정리] 객체지향의 사실과 오해 - 3장 (0) | 2022.12.28 |
[정리] 객체지향의 사실과 오해 - 2장 (0) | 2022.12.27 |
댓글