해당 포스팅은 조영호의 객체지향의 사실과 오해 (P.31~34)를 읽고 정리한 글입니다.
협력 속에 사는 객체
객체지향을 객체지향이라고 부르는 이유는 패러다임의 중심에 객체가 있기 때문이다.
객체지향에서 역할, 책임, 협력이라는 개념이 중요하지만 결국 실제로 움직이는 건 객체이다.
결국 협력의 품질을 결정하는 것은 객체의 품질이다. 객체의 품질을 높이기 위해 다음과 같은 두 가지 덕목을 지녀야 한다.
- 객체는 충분히 '협력적'이여야 한다.
협력적이지 않은 객체는 혼자 그 모든 책임을 수행하게 될 것이며 이는 내부 복잡도를 증가시킨다. - 객체는 충분히 '자율적'이어야 한다.
객체는 응답 여부도 스스로 판단하고 어떤 방식으로 처리하는지도 스스로 판단한다.
상태와 행동을 함께 지닌 자율적인 객체
객체를 상태(state)와 행동(behavior)을 함께 지닌 실체라고 정의한다. 객체가 자율적인 존재가 되기 위해서 필요한 행동과 상태를 함께 지니고 있어야 한다. 만약 어떤 사람이 행동하지 못하는 상태이거나 이걸 해결하기 위한 지식이나 방법을 모른다면 책임을 다하는데 자율적이지 못할 것이다.
과거 전통적인 개발 방법은 데이터(≒ 상태)와 프로세스(≒ 행동)를 엄격하게 구분한다. 이에 반해 객체지향에서는 데이터와 프로세스를 객체라는 하나의 틀 안에 함께 묶어 놓음으로써 객체지향의 자율성을 보장한다.
'📚 개발자의 서재 > 객체지향의 사실과 오해' 카테고리의 다른 글
[객체지향의 사실과 오해] 이상한 나라의 객체 -2 (0) | 2025.03.15 |
---|---|
[객체지향의 사실과 오해] 협력하는 객체들의 공동체 -4 / 이상한 나라의 객체 -1 (0) | 2025.03.14 |
[객체지향의 사실과 오해] 협력하는 객체들의 공동체 -2 (0) | 2025.03.12 |
[객체지향의 사실과 오해] 협력하는 객체들의 공동체 -1 (0) | 2025.03.11 |
8/1일 독서 요약 (0) | 2024.08.01 |