소프트웨어 공학에서 제시하는 좋은 객체지향 설계의 원리를 독자들이 이해하기 쉽도록 단계적으로 다양한 그림과 예제를 사용하여 설명하였다. 또한, 자바 언어가 제공하는 객체지향 문법과 특징들을 "객체지향" 적 관점에서 소개한다. 예제를 인용하여 객체지향적인 소프트웨어를 만들어나가는 과정을 단계적으로 살펴본다. 아울러, GoF의 『디자인패턴』과 마틴 파울러의 『리팩토링』에서 중요한 내용을 필자 나름대로 재해석하여 간단한 예제 위주로 설명한다. 마지막으로 부록에는 짝 프로그래밍을 통해 책의 내용을 학습하는 방법을 소개한다.