이상한 나라의 객체
2장에서는 이상한 나라의 앨리스 이야기를 이용해 객체가 가지는 특징을 쉽게 서술한다.
덕분에 디미터의 법칙을 쉽게 이해할 수 있었다.
[OOP] 디미터의 법칙
개요 최근 계속해서 객체 지향에 대한 공부를 하던 중 디미터의 법칙을 접하게 되었다. 객체 지향의 핵심을 꿰고 있는 개념이라고 생각이 되어 이에 대한 내 생각을 기록으로 남기려고 한다. 디
choi-records.tistory.com
객체는 상태, 행동, 식별자를 지닌 실체로 보는 것이 가장 효과적이다.
2장에서는 위 3가지 특징을 앨리스의 이야기 중 앨리스가 물약과 버섯을 먹음에 따라 몸집이 커지거나 작아진 부분을 이용해 쉽게 설명한다. 이야기에서 앨리스가 가지는 특징은 아래와 같다.
- 앨리스는 상태(키)를 가지며 상태는 변경 가능하다.
- 앨리스의 상태를 변경시키는 것은 앨리스의 행동(먹거나 마시는 행동)이다.
- 행동의 결과는 상태에 의존적이며 상태를 이용해 서술할 수 있다.
- 행동의 순서가 결과에 영향을 미친다.
- 앨리스는 어떤 상태에 있더라도 식별 가능하다.
여기서 상태와 행동의 관계가 가장 인상적이었다.
객체의 상태는 저절로 변경되지 않는다. 객체의 상태를 변경하는 것은 객체의 자발적인 행동뿐이다.
객체의 행동에 의해 객체의 상태가 변경된다는 것은 행동이 부수 효과를 초래한다는 것을 의미한다.
2장을 읽기 전 객체를 생성하려고 할 때 객체 자체만을 고려하고, 상태를 먼저 결정했다. 하지만 객체는 섬이 아니다. 협력 관계 내에서 자신에게 주어진 책임을 완수하기 위해 다른 객체를 이용하고, 다른 객체에게 서비스를 제공한다. 따라서 상태보다 먼저 고려해야 하는 것은 객체가 협력 관계 내에서 가지는 책임이 무엇이며 어떤 행동들을 해야 하는지를 먼저 고려해야 한다.
또한, 앨리스 이야기에는 객체지향 세계와 현실 세계의 중요한 차이점을 포함한다. 현실 속에서 앨리스는 스스로 음료를 마시는 능동적인 존재지만, 음료는 수동적인 존재다.
그러나 객체지향의 세계에서 모든 객체는 자율적인 객체다. 음료 객체의 양을 줄이는 것은 음료 자신이어야 한다.
이것이 캡슐화가 의미하는 것이다. 객체는 상태를 캡슐 안에 감추고 외부로 노출하지 않는다. 객체가 외부에 노출하는 것은 행동뿐이며, 외부에서 객체에 접근할 수 있는 유일한 방법 역시 행동뿐이다.
이제 객체지향의 세계와 현실 세계 사이 관계가 은유라는 것이 명확해진다.
실제 객체의 이름을 소프트웨어 객체의 이름으로 사용하여 표현적 차이를 줄임으로써 소프트웨어의 구조를 쉽게 파악하고, 예측할 수 있게 되는 것이다. 하지만 객체지향 세계에서 객체는 자율성을 가지며 상태를 노출하지 않는다는 것을 잊어선 안 된다.
출처
객체지향의 사실과 오해 - 예스24
『객체지향의 사실과 오해』는 객체지향이란 무엇인가라는 원론적면서도 다소 위험한 질문에 답하기 위해 쓰여진 책이다. 안타깝게도 많은 사람들이 객체지향의 본질을 오해하고 있다. 가장
m.yes24.com
'Book' 카테고리의 다른 글
객체지향의 사실과 오해(1) (0) | 2023.12.27 |
---|