최신 자바 개발 기법?

제목만 보고 최신 자바 기술을 다루는 책인줄 알았다. 최신 자바 기술을 확인 하는 것이 목적이라면 저자의 다른 책인 모던 자바 인 액션을 보는 편이 낫다.  물론 7장에서는 람다표현식, 스트림, Optional 등의 최신(?) 자바기술을 다루지만, 이 얇은 책에서 소개 이상의 내용을 기대 하기는 어렵다.

 

이 책의 목적은 최신 기술을 소개하는 것이 아니라 좋은 소프트웨어를 개발 하는 방법을 배우는 것이다.  

SOLID?

(가수가 아니다!)

책에서는 소프트웨어 개발과 관련한 여러 핵심 주제들을 다룬다. 언젠가의 수업에서 들었던 듯한 SOLID 원칙을 책의 여러 챕터를 걸쳐 예제와 함께 소개 한다.

소프트웨어 설계에 관한 내용이다 보니 단순히 정의나 설명 만으로는 이해하기가 많이 힘든데, 실제 예제 (단순 예제가 아니라, 미니 프로젝트에 기반한 예제) 를 통해 이 원칙을 어떻게 구현 하는지, 구현 하는데에 어떤 디자인 패턴이 사용되는지를 설명 한다.  

누가 이 책을 봐야 할까?
자바도 사용 할 줄 알고, 스프링프레임워크도 사용 할 줄 알지만, 프레임워크가 왜 그렇게 구성되었는지 이해를 못할 때 꼭 읽어 봐야 한다고 생각 한다. 스프링프레임워크를 처음 배울 때 의존성 주입이라는 단어를 이해 못해서 고생 하던 때가 있었는데, 이 책을 먼저 읽고 의존성 주입에 관한 내용을 배웠다면, 이해가 훨씬 빨랐을거라고 생각한다.

물론 저자는 프로그래밍 경력이 조금 생기기 시작한 주니어 개발자라면 반드시 읽어야 한다고 이야기 한다.

프로젝트 기반 설명?
소프트웨어 개발 개념을 쉽게 이해 할 수 있도록 예제 프로젝트를 통해 설명 한다. 입출금 내역 분석기 프로젝트는 실제로 많이 사용하는  파일을 읽어서 업무를 처리하는 내용을 진행 하며, 소프트웨어 설계의 원칙 같은 큰 내용과, 예외를 처리하는 등의 소소하거나 중요한 내용 또한 메이븐 같은 빌드 도구에 대한 설명 까지 진행 하고 있다. 물론 구체적인 사용법은 따로 배우면 된다.

마치며
인덱스 포함 216페이지의 얇은 책이다.
어렵지 않은 책이지만, 사실은 어려운 내용을 다루고 있기 때문에  단순히 책을 다 읽었다고 해서 모든 내용을 이해하거나, 이해한 내용을 바로 사용 할 수 있는것은 아니다.

그래서 저자는 “중요한 것은 이를 연습(의식적 연습 : 목표를 가진 체계적인 연습)하는 것이다" 라고 이야기 한다. 반복하여 연습 하다 보면 의식적으로 사용하지 않더라도 습관으로 자리 잡는다. 모든 배움이 그렇겠지만 소프트웨어 개발의 세계에서도 통하는 이야기이다.

 

사족

소프트웨어 카타라는 단어를 처음 들어서 검색해보았다. 일본에서 유래된 단어인듯 한데, 해석 하자면 작은 훈련용 코드를 많이 풀어보았다는 말인듯 한다. 

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

+ Recent posts