티스토리 뷰
"객체지향의 사실과 오해"를 개발을 시작하기 전에 읽었었는데, 최근에 다시 읽으니 이전에는 이해하기 어렵던 내용이 지금은 한결 쉽게 다가왔다.
책에서 말하는 객체지향의 개념이 머릿속에 그림처럼 그려지면서, 이론을 실제에 적용하는 과정도 좀 더 명확해진 느낌이다.
이 책은 객체지향 프로그래밍과 설계에 대해 단순히 코드나 구조를 다루는 것이 아니라, 문제를 보는 새로운 관점을 제시하는 데 초점을 맞추고 있다.
객체지향을 이해하기 위해 필요한 철학과 개념을 다루며, 언어 문법이나 구조가 아닌 객체지향이 문제를 어떻게 해결하는지에 대한 본질적인 이해를 돕는다.
책은 소설 이상한 나라의 앨리스의 예시를 들며 객체지향의 원리를 설명한다.
객체지향은 현실 세계를 단순화(추상화)하고, 객체의 세부 사항을 숨김(캡슐화)으로써 프로그래밍을 더 이해하기 쉽고, 효율적으로 활용할 수 있게 한다.
예를 들어, 책에서는 왕비가 병사에게 명령을 내리고, 병사는 다시 정원사에게 답을 찾으라고 지시하는 장면을 설명한다.
왕비는 병사가 정원사에게 전달하는 과정에 대해 알 필요가 없고, 병사 역시 정원사가 답을 찾는 방식에 대해 알 필요가 없다.
각각의 역할은 필요한 "답"만 요청하는 구조로 이루어진다.
이 방식이 바로 인터페이스와 메서드의 원리를 설명하는 것이다.
또한, 이 책은 객체지향을 단순히 정적 클래스들의 집합이 아니라, 메시지를 주고받는 동적 시스템으로 이해하게 해준다.
그 핵심은 "묻지 말고 시켜라"라는 책임 주도 사고 방식이다.
무엇을 할지(What)와 누가 할지(Who)를 분리하여 설계하는 방식으로, 먼저 메시지를 정하고 이를 받을 객체를 인터페이스를 통해 선택하는 것이 객체지향의 중요한 방법론이다.
이 과정이 객체의 자율성과 캡슐화를 보장하고, 결합도를 낮춰 시스템 설계를 더욱 유연하게 해준다.
다만, 이 책은 같은 개념을 여러 번 반복적으로 설명하는 부분이 있어 때때로 집중력을 떨어뜨리기도 한다고 생각이 들었다.
그럼에도 불구하고, 객체지향에 대해 근본적인 사고방식을 변화시키려는 점에서 매우 의미 있는 책이다.
- Total
- Today
- Yesterday
- ReactNative
- NSNotFound
- UIGraphics
- SWIFT JavaScript
- riverpod
- 플로팅팝업
- pdfkit
- 클린 아키텍처
- UIGraphicsBeginPDFContextToData
- Swift
- 리팩터링
- 객체지향의 사실과 오해
- ios
- SWIFT WebView
- SWIFT 자바스크립트연동
- OOP
- NSMutableAttributedString
- swiftpdf
- mutableString
- SWIFT JQuery
- 에드먼드 라우
- dfs
- llvm
- 알고리즘
- Flutter
- 이펙티브 엔지니어
- UIGraphicsBeginPDFPageWithInfo
- 스위즐링
- 로버트C마틴
- wkwebview