요구사항이 늘어나고 그에 따른 기능이 많아지면서 작성해야 하는 코드의 양이 많아지게 된다. 작성해서 어떻게 돌아가는 코드를 작성했더라도 기능을 변경하거나 새로운 기능을 추가하는 것은 더더욱 어려움이 있다. 그런 점에서 시스템을 객체의 관점으로 개발하는 객체지향 프로그래밍은 거대한 시스템을 쉽게 이해하고 효율적으로 개발할 수 있도록 도와준다.
나 또한 Java라는 객체지향 언어를 사용하고 있지만, 객체 지향의 원리나 설계에 대한 이해가 부족한 상태로 단순히 라이브러리를 활용해서 개발을 진행해왔었다.
이런 점에서 오브젝트는 실무에서 객체지향 프로그래밍을 적용하기 위해 어떻게 설계를 진행하여야 하는지, 그리고 적용하면서 어떠한 문제를 발생하는지 설명해준다.
책을 통해 이루고자 하는 목적은 다음과 같다.