본문 바로가기
  • Adillete
【서평】

[29차 개발자 리뷰어] 『객체지향 시스템 디자인 원칙』

by 아딜렛 2025. 9. 7.

 

 

 

 '길벗출판사에서 도서를 제공받았음'

 

필자는 비전공 + 백엔드 부트 캠프를 다니고 있는 백엔드 취준생이다.

객체 지향 관련된 서적을 꾸준히 읽으면서 객체 지향이 대체 무엇인지 알고 싶어서 객체지향 시스템 디자인의 원칙까지 흘러들어왔다. 객체 지향 시스템 디자인에서 정리하는 6가지 원칙은 이러하다.

1. 작은 코드 단위
2. 일관성 있는 객체
3.  적절한 의존성 관리하기
4.  좋은 추상화 만들기
5.  잘 처리된 인프라
6.  잘 모듈화된 디자인

 

 미니 프로젝트를 설계하면서 객체화된 설계가 무엇인지 항상 이해하지 못하고 넘어갔던 부분이 이 책에 많이 설명 되어있다.

가장 인상 깊었던건. 자바 프로젝트를 만들때 학원 선생님, 혹은 인강에서 설명하던 객체 지향 시스템을 왜 이렇게 만들었는지를

이 책에서 다루고 있다는 점이다. 

아래는 그 예시 중에하나인  게터,세터에 관한 부분이다. (객체지향 시스템 디자인 원칙, 마우리시오 아니체, 길벗 출판사 p.86 일부 발췌)

"세터는 객체를 설명하는 속성에만 사용한다.(중략)

모델의 엔터티와 일관성을 유지해야하는 객체와 단순히 데이터를 운반하는 객체를 강하게 분리해야한다."

항상  DTO 와 엔터티를 구분하여 만들라는 말을 많이 들었었는데 그 이유가 객체화된 설계를 유지하는 것을 넘어서 클라이언트에게 제공하는 데이터가 클라이언트에 의해 바뀌더라도 기존의 엔터티를 훼손시키지 않고 그대로 유지할수 있기 때문이라는 것을 간단하게 짚어주고 넘어간다.  

그리고 인터페이스가 필요한 이유라든지 가장 프로젝트 설계에서 기본이 되는 중심 내용들을 파트별로 나누어서 짚어주고 있어서

어떤 것이 핵심적으로 객체 지향을 위해 필요한 내용인지를 독자로 하여금 다시 배울수 있게 해준다.

물론, 코드를 따라서 만든다거나 하는 기본적인 서적이 아니어서 정확한 이해를위해 다른 서적이나 도움을 받아야 할 필요는 있으나

이 책이 핵심적인 내용들을 전반적으로 다루고 있기에 개발자들이 한번씩 놓치고 지나가는 객체 지향개발에 관한 키들을 찾을수 있다고 생각한다.