객체지향 많은 분들이 객체지향 프로그래밍은 현실 세계의 모방, 추상화를 통해 프로그래밍에 반영하는 것이라고 말한다. 이러한 설명은 실용적인 관점에서 객체지향을 설명하기에 적합하지 않다. 가령 우리는 상속의 예시를 들 때 인간, 도형 등의 예시를 들고 추상화를 배울 때 동물, 타이어, 자동차 등의 예시를 들곤 한다. 이를 실제 소프트웨어에 접목할 수 있는가? 객체지향의 목표는 실세계를 모방하는 것이 아니다. 새로운 세계를 창조하는 것이다. 객체지향에서 가장 널리 퍼져있는 오해는 클래스가 객체지향 프로그래밍의 중심이라는 것이다. 객체지향은 객체를 지향하는 것이지 클래스를 지향하는 것이 아니다. 역할, 책임, 협력 객체지향이라는 말에서 어떤 단어가 먼저 떠오르는가? 많은 사람들은 클래스와 상속을 떠올린다. 하..