두 번째 도시전설
- 너무 오랫동안 사람들의 뇌리에 뿌리 깊게 박혀 있었던 탓에 아무도 문제라고 제기하지 않았던 것으로, ‘객체지향이란 현실 세계의 모방’ 이라는 것이다.
- 안타깝게도 객체지향 세계는 현실 세계의 단순한 모방이 아니다.
- 모방과 추상화라는 개념만으로는 현실 객체와 소프트웨어 객체 사이의 관계를 깔끔하에 설명하지 못한다.
의인화
- 현실 속의 객체와 소프트웨어 객체 사이의 가장 큰 차이점
- 현실 속에서는 수동적인 존재가 소프트웨어 객체로 구현될 때는 능동적으로 변한다는 것이다.
- 레베카 워프스브록은 현실의 객체보다 더 않은 일을 할 수 있는 소프트웨어 객체의 특징을 의인화(anthropomorphism)라고 부른다.
- 소프트웨어 안에 구축되는 객체지향 세계는 현실을 모방한 것이 아니다. 현실의 모습을 조금 참조할 뿐 궁극적인 목적은 현실과 전혀 다른 새로운 세계를 창조하는 것이다.
은유
- 현실 세계와 객체지향 세계 사이의 관계를 좀 더 정확하게 설명할 수 있는 단어는 은유(metaphor)다.
- 은유란 실제로는 적용되지 않은 한 가지 개념을 이용해 다른 개념을 서술하는 대화의 한 현태다.
- 은유의 본질은 한 종류의 사물을 다른 종류의 사물 관점에서 이해하고 경험하는 데 있다.
- 은유는 표현적 차이(representational gap) 또는 의미적 차이(semantic gap)라는 논점과 관련성이 깊다.
- 모든 객체지향 지침서에서는 현실 세계인 도메인에서 사용되는 이름을 각체에 부여하라고 가이드하는 것이다.
이상한 나라를 창조하라
- 객체지향 설계자로서 우리의 목적은 현실을 모방하는 것이 아니다. 단지 이상한 나라를 창조하기만 하면 된다.
- 현실을 닮아야 한다는 어떤 제약이나 구속도 없다.