-
[객체지향의 사실과 오해] 02장: 이상한 나라의 객체 <하>객체지향 2020. 4. 29. 10:13
오늘 읽은 내용은 결국 객체와 실세계는 같지 않다는 내용이었다.
비슷하다고 말하는 것도 살짝 부족하고, 책에서는 은유라는 표현을 쓴다.
은유... 라는 건 고등학교 국어시간에 배운 것 같지만 의미는 이해할 수 있을 것 같다.
객체라는 것은 식별자를 이용해 그것을 구별한다.
이것이 값이라는 value object와의 차이점이다. 오? 벨류 오브젝트도 오브젝트인데? 라고 할 수 있기에 책에서는 진정한 객체는 entity 라고 표현하고 벨류오브젝트는 값을 저장하는 정도의 것으로 구분한다.
또한 실세계와 다른 점은 객체가 스스로 움직일 수 있다는 것이다.
객체와의 메세지를 통해 스스로 움직인다. 그리고 그 움직임은 외부에서는 알 수 없다.
이것을 카세트 기계와 같은 기계로 묘사하였다. 이 기계들은 식별자라는 구분 값을 가지고 상태를 가지고 있고, 행동을 정의하고 있다. 그리고 그 행동의 세부적인 사항은 기계 속에 숨겨져 있다. 우리가 볼 수 있는건 상태값 뿐이다. 그리고 다른 객체로 어떻게 메세지를 보내는가 정도를 확인할 수 있다.
객체지향에 대해서 단순히 어떤 하나의 방법론이라고만 생각했었는데 1,2장만을 읽음으로써 이것이 우리 회사 팀 구조와 비슷하다는 느낌을 받았다. 팀에 api 가 어떤 것이 필요하다 기능은 이랬으면 좋겠다 정도만 정해지고 세부적인 건 다른 팀에서 알 수 없다. 그리고 그 팀들은 식별자를 통해 팀 이름을 가진다.
이 책 정말 잘 읽기 시작한 것 같다. 앞으로 3,4,... 잘 읽어야겠다.
반응형'객체지향' 카테고리의 다른 글
[객체지향의 사실과 오해] 05장: 책임과 메세지 (0) 2020.05.11 [객체지향의 사실과 오해] 04장: 역할, 책임, 협력 (0) 2020.05.06 [객체지향의 사실과 오해] 03장: 타입과 추상화 (0) 2020.05.03 [객체지향의 사실과 오해] 02장: 이상한 나라의 객체 <상> (0) 2020.04.28 [객체지향의 사실과 오해] 01장: 협력하는 객체들의 공동체 (0) 2020.04.27