본문 바로가기

소프트웨어,IT,컴퓨터공학 도서리뷰/개념 서적: (Conceptual Books): TDD, OOP, DDD

엘레강트 오브젝트 - 새로운 관점에서 바라본 객체지향 - [책후기][지앤선]

객체 존중 사고

명저다

 

우아한 객체지향 패러다임.

추천도 : 6/7. 객체지향적인 코드로 이해하는 객체지향.

★★★★★★☆

 

읽은 기간 📅 : 2021년 12월 10일 ~ 2021년 12월 27일

 

이 책을 추천하는 이들 👨‍👧

  • 중급 이상의 OOP 개발자들.
  • OOP에 관심이 있는 사람들.

 

난이도 🦈

중.

객체지향의 개념을 이해하고 읽는 것을 권한다.

 

관련된 책들 📚

  1. 객체지향과 관련된 도서. 
  2. 테스트 주도 개발.
  3. 클린 코드.

 

한 줄 평 ✍️

나의 객체지향 사고는 객체지향적이지 않았다.


객체지향을 이해하는 것과 객체지향적인 코드를 짜는 것.

 

다른 객체지향 도서들을 읽으면서 나는 객체지향을 "이해"하는 선에서 머물고 있었다.

 

객체지향적인 코드를 작성한다는 것은 클래스의 특징과 객체의 특징을 잘 활용하는 것을 의미한다고 생각했다.

 

유연성이 필요한 부분에는 다형성 메커니즘을, 코드의 재사용이 필요한 영역에는 상속 메커니즘을 

 

현실세계의 엔티티들을 "협력"의 관점을 통해 객체들의 관계로 바라보는 것을.

 

그렇게 코드를 보면서 객체지향적인 코드를 이해했다.

 

코드를 보면서 "이 코드가 객체지향적"이라고 말할 수 있는 설명에는

 

내가 배운 객체지향적인 특징이 반영되었느냐 아니냐의 여부로 처리되었다.

 

객체지향적인 "사고"로 접근하는 설명이 아니라 객체지향적인 "해석"으로 접근하는 설명이었던 것이다.

 

그러다 보니 객체지향적인 코드를 볼 때 머릿속에서 객체지향의 특징들을 나열하고 체크리스트로 처리하면서 

 

객체지향을 해석했던 것이다. 이것을 "사고"한다라고 말하기는 어려울 듯 하다.

 

이 책을 읽고 내가 가진 객체지향적인 코드로 해석하는 관점에서 한 걸음 벗어나 보게 되었다.

 

이 책은 "순수 객체지향적 사고"를 가지기 위한 조언과 조언에 대한 설득력 있는 설명이 함께한다.

 

매 조언마다 논란이 있을 수 있기도 해서 시작에 "토론하기"라는 링크가 남겨져있다.

 

그럴 만도 한 것이 조언의 제목만 보면 머릿속에 물음표가 딱 하고 떠오른다. [ "으잉??" 하고 말이다. ]

 

그런데 저자의 설명을 다 살펴본 후 다시금 생각해보면 객체지향에 대한 개념에 접근하는 게 아닌

 

객체지향적인 "사고"에 접근해보게 된다. 그리고 다시 객체지향에 대한 개념으로 돌아와서

 

객체지향적인 코드를 바라보게 된다. 그때 이전 사고(객체지향 + 절차)와 이후 사고(객체지향)로 바뀌면서

 

두 사고의 차이점을 경험해보게 된다.

 

그동안 객체지향적인지, 절차 지향적인지 모호했던 혹은 섞여있던 사고에서 

 

유지보수성을 극대화해주는 객체지향 사고로 접근해볼 수 있는 것이다.

 

이 책을 보면서 "객체지향에 대한 물음"에 접근하는 것이 좋았다.

 

객체지향에 대한 신선한 시야를 가지고 싶은 분들에게 추천하고 싶다.

 


 

책에서 느꼈던 좋은 메타포 : 사람에 대한 메타포.

 

해당 책의 전반적인 관점은 "객체"에 대한 존중이다. 

 

객체에 대해서 존중해줘야 한다는 설명에는 사람을 비유하면서 설명해준다.

 

"문제"가 있다고 의심하고 그에 따라 차별을 하는 코드를 만들어서는 안 된다는 부분

("저자는 장애에 대한 차별을 해선은 안된다"라고 표현한다. )

 

요청에 대해서 신뢰성이 낮은 응답을 보내서는 안 된다는 부분. (사람과의 신뢰성이 저하되는 부분)

 

객체의 속성은 4개로 충분하게 설명할 수 있다는 부분 (4차원에 대한 메타포)

 

객체는 자율적인 유기체라는 부분

 

이러한 생각은 책의 Chapter에서도 짐작할 수 있다. 객체를 하나의 인격체로 바라보는 사고인 것이다.

 

출생부터 교육, 고용 그리고 은퇴까지

 

"인간"을 존중하는 관점과 비슷하게 객체를 바라보는 사고에서

 

소프트웨어는 우아하게 응답한다는 것을 말하고자 했던 게 아닌가?? 하는 생각이 든다.

 

이 부분으로 보면 객체지향이라는 표현은 인간존중 지향적이라고도 말할 수 있을 듯하다.

 

170p 정도의 책인데 얻게 된 정보는 그 이상이었다.

 

정말 추천하고 싶은 책! 

반응형