본문 바로가기

Jbee/서평&영화&자격증

[서평] 스프링 입문을 위한 자바 객체 지향의 원리와 이해

[서평] 스프링 입문을 위한 자바 객체 지향의 원리와 이해


스프링 책도 아니고 자바 책도 아니다.

책 제목 그대로 객체 지향을 위한 책이다.
딱 자바 기본서를 통해 자바를 한 번 경험해봤거나
자바 기본 강의를 수강하고 나서 보면 좋을 책이다.

자바 프로그램이 작동하는 구조, 메모리 할당 등에 대해서 설명해준다.
정말 자세한 부분까지는 아니지만 자바 코드를 작성할 때 실수할 수 있는 부분을 잡을 수 있을 정도로 설명하고 있다.
JVM, GC 등의 원리에 대해서는 일체 다루지 않는다.
이 책의 초점은 이런 것이 아니라 바로 ‘객체 지향’이다.

자바의 객체지향적인 특징과 그와 관련된 문법들을 간략하게 소개하고,
각각의 특징들이 녹아들어간 객체 지향의 5원칙에 대해 설명한다.

이 책의 저자는 붕어빵과 붕어빵틀로 설명되는(다시 생각해봐도 정말 말이 안되는 논리인데 왜 대다수가 이렇게 가르치고 알고 있는지 1도 이해가 가질 않는다)
객체지향에 대한 오해를 조금이나마 풀고자 노력했다.
또한 상속이라는 단어적인 뜻으로 접근하여 오해할 수 있는 부분도 명확히 설명해내고 있다.

자바를 이해하기 위해서는, 자바를 온전히 ‘자바스럽게’ 사용하기 위해서라면 객체지향에 대한 이해는 필수적이다.
C언어처럼 절차 지향적인 코드를 중심적으로 작성했다면 이 책을 통해서 객체 지향에 대한 프로그래밍 패러다임(?)을 학습할 수 있을 것이며,
이제 막 자바를 시작한 입문자에게도 객체지향에 대한 개념을 이해하는데 좋을 것이다.

이 책의 중반으로 넘어가면 객체 지향 설계의 5원칙이 녹아들어가있는 각종 디자인 패턴들을 소개한다.
주로 스프링에서 사용되는 디자인 패턴들을 소개하며 자바 코드로 작성되어 있다.
디자인 패턴 책도 아니다.
그렇게 자세하게 다루고 있지 않다.
디자인 패턴을 공부하기 위해 이 책을 구입한다면 적지 않은 실망을 하게 될 것이다.

스프링에서 사용되는 몇몇의 디자인 패턴들의 맛을 본 뒤에는, 스프링의 3대 중심 요소에 대해서 설명한다.
IoC/DI, AOP, PSA 그리고 POJO가 그것이다.
처음에는 이해가 쉽지 않았다.
이 책을 보고 나서 '스프링 퀵 스타트'라는 책을 통해 직접 코드를 작성해보면서 좀 더 이해가 됬던 것 같다.

스프링이 필요한 사람, 자바 책이 필요한 사람, 디자인 패턴 책이 필요한 사람
위 세 사람 모두에게 이 책은 그렇게 실용적이지 않다.
객체 지향에 대한 이해가 부족하거나 자바를 자바스럽게 사용할 수 없을까라는 고민이 있는 사람에게 잘 어울릴 것 같은 책이다.

개인적으로는 책의 내용이 좋았다.
현재 2회독 중인데, 이 책을 보고 나서는 조영호 전 교수님의 '객체 지향에 대한 오해와 진실’이란 책을 읽어볼 예정이다.