『객체지향의 사실과 오해』 – 조영호

2025. 8. 23. 16:37IT 독후감

반응형

📖 객체지향의 사실과 오해 – 조영호

“객체지향을 제대로 이해한다는 것의 의미”


1. 읽게 된 계기

개발자로 일을 하다 보면 “객체지향”이라는 단어는 정말 자주 듣습니다.
하지만 정작 객체지향을 설명해 보라고 하면, “클래스와 상속” 정도로만 말하는 경우가 많죠.

저 역시 객체지향이 무엇인지 명확히 설명하기가 어려웠습니다.
이때 추천받은 책이 바로 **『객체지향의 사실과 오해』**였습니다.
이 책은 문법이나 기술이 아니라, 객체지향의 본질적인 개념을 이야기해 준다고 해서 읽게 되었습니다.


2. 책의 핵심 메시지

저자는 객체지향을 단순히 코드 구조나 패턴의 문제가 아니라, **“객체들이 협력하며 문제를 해결하는 방식”**으로 설명합니다.

📌 주요 내용

  1. 객체는 협력한다
    • 객체는 혼자 존재하지 않고, 메시지를 주고받으며 협력한다.
    • 중요한 건 클래스 구조가 아니라 객체 사이의 상호작용이다.
  2. 역할, 책임, 협력 (Role, Responsibility, Collaboration)
    • 객체지향 설계의 핵심은 이 세 가지.
    • 객체는 특정한 ‘역할’을 맡고, 그에 따른 ‘책임’을 수행하며, 다른 객체와 ‘협력’한다.
  3. 클래스보다 객체가 먼저다
    • 우리는 흔히 클래스를 먼저 설계하려고 하지만, 실제로는 객체들의 협력 관계가 먼저다.
    • 클래스는 그 협력을 구현하기 위한 수단일 뿐이다.
  4. 캡슐화와 자율성
    • 좋은 객체는 자신의 상태를 스스로 관리하며 외부에 불필요한 것을 드러내지 않는다.
    • 즉, 객체는 자율적인 존재여야 한다.

3. 인상 깊었던 부분

책에서 강조하는 부분 중 가장 크게 와닿았던 문장은:

“객체지향은 객체들의 협력으로 이루어진 공동체다.”

그동안 저는 객체지향을 “코드 구조”나 “디자인 패턴” 정도로 이해하고 있었는데,
이 책을 통해 객체지향을 사회적 시스템에 비유하는 시각을 처음 접했습니다.
객체들이 각자 책임을 맡아 서로 협력하는 모습은 마치 팀워크와도 닮아 있었습니다.


4. 개발자로서 얻은 교훈

  • 객체지향은 클래스 문법이 아니라 역할과 책임의 분배에 관한 철학이다.
  • 응집도와 결합도라는 원칙을 다시 깊이 이해하게 되었다.
  • 객체지향 설계는 결국 변화에 유연한 시스템을 만들기 위한 사고방식이다.
  • 객체를 코드의 단위가 아니라 자율적 주체로 바라보는 시각이 중요하다.

5. 읽고 난 소감

『객체지향의 사실과 오해』는 얇고 쉽게 읽히지만, 한 장 한 장이 깊은 통찰을 담고 있습니다.
코드를 직접 다루는 내용은 많지 않지만, 오히려 그렇기 때문에 **“왜 객체지향이 필요한가”**를 본질적으로 이해할 수 있었습니다.

특히 신입 개발자라면 필수로 읽어야 할 책이고, 경력이 쌓인 개발자에게도 “내가 진짜 객체지향을 잘 이해하고 있나?”를 되돌아보게 하는 책이라고 생각합니다.


한 줄 평

“객체지향은 문법이 아니라, 객체들의 협력 관계를 디자인하는 사고방식이다.”

 


📌 결론

이 책을 읽고 나니, 앞으로 코드를 작성할 때 단순히 클래스와 메서드의 집합으로 보지 않고,
**“이 객체는 어떤 역할을 맡고 있고, 누구와 협력하는가?”**라는 질문을 먼저 던지게 될 것 같습니다.

『객체지향의 사실과 오해』는 이름처럼, 많은 개발자들이 가진 오해를 풀고 객체지향의 사실을 다시 세우게 해주는 책입니다.

728x90