2025. 8. 23. 16:37ㆍIT 독후감
📖 객체지향의 사실과 오해 – 조영호
“객체지향을 제대로 이해한다는 것의 의미”
1. 읽게 된 계기
개발자로 일을 하다 보면 “객체지향”이라는 단어는 정말 자주 듣습니다.
하지만 정작 객체지향을 설명해 보라고 하면, “클래스와 상속” 정도로만 말하는 경우가 많죠.
저 역시 객체지향이 무엇인지 명확히 설명하기가 어려웠습니다.
이때 추천받은 책이 바로 **『객체지향의 사실과 오해』**였습니다.
이 책은 문법이나 기술이 아니라, 객체지향의 본질적인 개념을 이야기해 준다고 해서 읽게 되었습니다.
2. 책의 핵심 메시지
저자는 객체지향을 단순히 코드 구조나 패턴의 문제가 아니라, **“객체들이 협력하며 문제를 해결하는 방식”**으로 설명합니다.
📌 주요 내용
- 객체는 협력한다
- 객체는 혼자 존재하지 않고, 메시지를 주고받으며 협력한다.
- 중요한 건 클래스 구조가 아니라 객체 사이의 상호작용이다.
- 역할, 책임, 협력 (Role, Responsibility, Collaboration)
- 객체지향 설계의 핵심은 이 세 가지.
- 객체는 특정한 ‘역할’을 맡고, 그에 따른 ‘책임’을 수행하며, 다른 객체와 ‘협력’한다.
- 클래스보다 객체가 먼저다
- 우리는 흔히 클래스를 먼저 설계하려고 하지만, 실제로는 객체들의 협력 관계가 먼저다.
- 클래스는 그 협력을 구현하기 위한 수단일 뿐이다.
- 캡슐화와 자율성
- 좋은 객체는 자신의 상태를 스스로 관리하며 외부에 불필요한 것을 드러내지 않는다.
- 즉, 객체는 자율적인 존재여야 한다.
3. 인상 깊었던 부분
책에서 강조하는 부분 중 가장 크게 와닿았던 문장은:
“객체지향은 객체들의 협력으로 이루어진 공동체다.”
그동안 저는 객체지향을 “코드 구조”나 “디자인 패턴” 정도로 이해하고 있었는데,
이 책을 통해 객체지향을 사회적 시스템에 비유하는 시각을 처음 접했습니다.
객체들이 각자 책임을 맡아 서로 협력하는 모습은 마치 팀워크와도 닮아 있었습니다.
4. 개발자로서 얻은 교훈
- 객체지향은 클래스 문법이 아니라 역할과 책임의 분배에 관한 철학이다.
- 응집도와 결합도라는 원칙을 다시 깊이 이해하게 되었다.
- 객체지향 설계는 결국 변화에 유연한 시스템을 만들기 위한 사고방식이다.
- 객체를 코드의 단위가 아니라 자율적 주체로 바라보는 시각이 중요하다.
5. 읽고 난 소감
『객체지향의 사실과 오해』는 얇고 쉽게 읽히지만, 한 장 한 장이 깊은 통찰을 담고 있습니다.
코드를 직접 다루는 내용은 많지 않지만, 오히려 그렇기 때문에 **“왜 객체지향이 필요한가”**를 본질적으로 이해할 수 있었습니다.
특히 신입 개발자라면 필수로 읽어야 할 책이고, 경력이 쌓인 개발자에게도 “내가 진짜 객체지향을 잘 이해하고 있나?”를 되돌아보게 하는 책이라고 생각합니다.
한 줄 평
“객체지향은 문법이 아니라, 객체들의 협력 관계를 디자인하는 사고방식이다.”
📌 결론
이 책을 읽고 나니, 앞으로 코드를 작성할 때 단순히 클래스와 메서드의 집합으로 보지 않고,
**“이 객체는 어떤 역할을 맡고 있고, 누구와 협력하는가?”**라는 질문을 먼저 던지게 될 것 같습니다.
『객체지향의 사실과 오해』는 이름처럼, 많은 개발자들이 가진 오해를 풀고 객체지향의 사실을 다시 세우게 해주는 책입니다.

'IT 독후감' 카테고리의 다른 글
| 『Code Complete 2 (코드 컴플리트 2)』 – 스티브 매코널 (10) | 2025.08.27 |
|---|---|
| 『개발자가 되고 싶습니다』 – 앨런 (16) | 2025.08.26 |
| 『엔지니어링 리더십』 – 윌 라슨 (17) | 2025.08.21 |
| 『견고한 데이터 엔지니어링』 – 조 라이스, 맷 하우슬리 (26) | 2025.08.20 |
| 『파이브 라인스 오브 코드 (Five Lines of Code)』 – 크리스찬 클라우젠 (3) | 2025.08.19 |