객체지향을 처음 접하는 사람들은 “객체지향이란 실세계를 직접적이고 직관적으로 모델링할 수 있는 패러다임” 이라는 설명을 많이 듣는다. 하지만 실세계의 모방이라는 개념은 객체지향의 기반을 이루는 철학적인 개념을 설명하는 데는 적합하지만 유연하고 실용적인 관점에서 객체지향 분석, 설계를 설명하기에는 적합하지 않다. 애플리케이션을 개발하면서 객체에 직접적으로 대응되는 실세계의 사물을 발견할 확률은 높지 않다. 존재하더라도 객체와 사물간의 개념적 거리는 유사성을 찾기 어려울 정도로 매우 먼 것이 일반적이다. 객체지향의 목표는 실세계를 모방하는 것이 아니다. 오히려 새로운 세계를 창조하는 것이다. 그럼 왜 실세계의 모방이라는 개념을 얘기할까? 그 이유는 실세계에 대한 비유가 객체지향의 다양한 측면을 이해하고 학습..