본문으로 건너뛰기

서문

"이 책은 객체지향이란 무엇인가라는 원론적이면서도 다소 위험스러운 질문에 대한 제 나름의 대답을 말씀드리기 위해 쓰여졌습니다 객체지향으로 향하는 첫걸음은 클래스가 아니라 객체를 바라보는 것에서부터 시작합니다 객체지향으로 향하는 두 번째 걸음은 객체를 독립적인 존재가 아니라 기능을 구현하기 위해 협러하는 공동체의 존재로 바라보는 것입니다 세 번째 걸음을 내디딜 수 있는지 여부는 협력에 참여하는 객체들에게 얼마나 적절한 역할과 책임을 부여할 수 있느냐에 달려 있습니다 객체지향의 마지막 걸음은 앞에서 설명한 개념들을 여러분이 사용하는 프로그래밍 언어라는 틀에 흐트러짐 없이 담아낼 수 있는 기술을 익히는 것입니다"

객체에게 명령 대신 요청을 담은 메시지를 전달하면 객체는 이를 어떻게 처리할지 자율적으로 판단하고, 내부에 가지고 있는 데이터를 이용해 필요한 작업을 수행하는 빙식이다 책임과 권한을 가진 객체들이 서로 메시지를 주고받으며 협력해서 필요한 기능을 수행하도록 시스템을 개발하는 객체지향 프로그래밍이다 객체지향은 크고 복잡한 시스템을 효과적으로 분해하고 구성할 수 있고, 손쉽게 이해하고 효율적으로 다룰 수 있게 도와주는 방법으로 인정밥아 많은 프로그래밍 언어에 적용돼 왔고 지금은 가장 인기 있는 프로그래밍 패러다임으로 자리 잡았다

  1. 이 책은 객체지향 프로그래밍의 기본적인 이론이나 개념에 대한 설명을 생략하고 곧장 동작하는 코드부터 설명한다
  2. 이 책의 목적은 객체지향 프로그램을 작성하는 방법을 설명하는 것이 아니라 좋은 설계란 무엇인가를 설명하는 것이다
  3. 이 책은 실무에서 객체지향 프로그래밍을 적용하는 시점에 직면할 수 있는 다양한 문제에 관해 설명한다