본문 바로가기
[Review]/Book

[도서 리뷰] 모던 자바 인 액션

by 해피빈이 2019. 10. 12.
모던 자바 인 액션
국내도서
저자 : 라울-게이브리얼 우르마(RAOUL-GABRIEL URMA),마리오 푸스코(MARIO FUSCO),앨런 마이크로프트(ALAN MYCROFT) / 우정은역
출판 : 한빛미디어 2019.08.01
상세보기

 

OOOO in Action 시리즈의 첫 책을 접하게 되었다.

모던 자바에 대해서는 어느 정도는 알고 있었으나, 특히 모던 언어에 대한 관심은 어느 정도 있었으나, 이 책은 아무래도 기존에 많은 사람들이 칭찬하던 시리즈이기 때문에 어떤 장점이 있을지 궁금함을 가지고 보게 되었다.

사실 겉으로 보면 조금은 딱딱한 느낌이었기 때문에 쉽게 손이 가지는 않았다.

 

하지만, 기대이상이었다.

이번을 계기로 이 시리즈를 즐겨볼 것 같다.

물론 어느 정도는 딱딱함이 있는 것은 인정하지만, 그렇다고 책이 어려움을 의미하지는 않는다.

충분히 어려워하는 사람을 배려하여 쉽게 읽을 수 있도록 배려한 부분이 많았다.

 

리뷰 시간이 길지 않아 다 읽지는 못했지만, 이후의 시간도 기대하며 읽게 될 것 같다.

모던 자바뿐 아니라 모던 언어의 개념을 잡기에는 좋다고 미리 이야기하며 책 내부에 대한 리뷰도 함께 한다.

 

사실 표지는 그다지 손이 가지 않았다. 몽골? 중국인? 같은 표지이다 보니 무슨 의미인지도...;;

이 책의 원서 출판사인 매닝은 제프리가 만든 3세기 이전의 다양한 국가 의상을 책 표지로 선정하였다고 한다.

이 것도 그중 하나로 1700년대 중국 티타르의 고급 관리 전쟁 복장이라고 한다.

 

이 책의 부제로는 '전문가를 위한 자바 8, 9, 10 기법 가이드'이다.

 

모던 자바 자체가 나온지는 시간은 사실 많이 지난 편이지만, 그래도 자바 8, 9, 10을 거쳐오면서 필요한 내용들을 추리고 정리하느라 들인 시간으로 출판일이 얼마 되지는 않는다.

 

또한 부제로 여겨졌던 다른 문구가 하나 더 있었다.

'람다, 스트림, 함수형, 리액티브 프로그래밍으로 새로워진 자바 마스터하기'이다.

사실 이 책에서 더 기대가 되는 건 위에서 나온 개념이 최근에 부각된 코틀린, 스위프트, 스칼라 등 모던 언어들에서 접하고 있는 개념들이기 때문이다. 이 책은 자바를 통해 이러한 특징을 익히겠지만, 결국은 이 개념을 가져오면 어떤 언어에서든 응용하기 편하리라 생각된다. 모던 언어를 모던 언어답게 사용할 수 있도록 돕는 그런 책이다.

 

내부 표지는 특별할 것은 없어 보인다. 원 출판사인 매닝이 특히 눈에 띄었다.

 

이 책에서 다룰 람다, 스트림 등에 대해서 가볍게 접근하는 말을 기록해놓았다.

아마 현직 개발자이신 분들은 다들 들어봤을 법한 단어들이다.

하지만, 이것을 잘 아는 분들도 있을 것이고, 어느 정도만 아는 분들도 있을 것이고, 단어 외에는 잘 모르는 분들도 있을 것이다. 하지만, 그래도 수많은 채용공고에도 언급되고 있는 이 단어들이 중요하다는 것은 누구도 부인할 수 없다고 생각한다.

 

그래서 이 책을 펼치는 데에는 크게 어렵지 않았다.

얼마큼 나를 이해시킬지 기대시켰기 때문이다.

 

이 책은 다음의 챕터들로 구성되어 있다. 꽤나 챕터 수는 많다.

개인적인 생각엔 챕터보다도 파트가 더 중요한 것 같다.

PART 1. 기초

- CHAPTER 1. 자바 8, 9, 10, 11: 무슨 일이 일어나고 있는가?

- CHAPTER 2. 동작 파라미터화 코드 전달하기

- CHAPTER 3. 람다 표현식

PART 2. 함수형 데이터 처리

- CHAPTER 4. 스트림 소개

- CHAPTER 5. 스트림 활용

- CHAPTER 6. 스트림으로 데이터 수집

- CHPATER 7. 병렬 데이터 처리와 성능

PART 3. 스트림과 람다를 이용한 효과적 프로그래밍

- CHAPTER 8. 컬렉션 API 개선

- CHAPTER 9. 리팩터링, 테스팅, 디버깅

- CHAPTER 10. 람다를 이용한 도메인 전용 언어

PART 4. 매일 자바와 함께

- CHAPTER 11. null대신 Optional 클래스

- CHAPTER 12. 새로운 날짜와 시간 API

- CHAPTER 13. 디폴트 메서드

- CHAPTER 14. 자바 모듈 시스템

PART 5. 개선된 자바 동시성

- CHAPTER 15. CompletableFuture와 리액티브 프로그래밍 컨셉의 기초

- CHAPTER 16. CompletableFuture: 안정적 비동기 프로그래밍

- CHAPTER 17. 리액티브 프로그래밍

PART 6. 함수형 프로그래밍과 자바 진화의 미래

- CHAPTER 18. 함수형 관점으로 생각하기

- CHAPTER 19. 함수형 프로그래밍 기법

- CHAPTER 20. OOP와 FP의 조화: 자바와 스칼라 비교

- CHAPTER 21. 결론 그리고 자바의 미래

부록. 기타 언어 업데이트, 기타 라이브러리 업데이트, 스트림에 여러 연산 병렬로 실행하기, 람다와 JVM 바이트코드

 

이렇게 되어있었다. 엄청난 챕터 수이다....

 

내용 중 하나를 보면 이러하였다. 실제 디자인 패턴을 언급하면서 그것을 단계별로 모던 언어에 접목시키면서 설명하였다.

즉, A가 Basic 한 단계이고, G가 모던 언어의 단계라면, A -> G 라고 언급하거나, G는 OO이다 라고 언급하는 것이 아니라, A->B가 되는 과정, B->C가 되는 과정, C->D가 되는 과정, D->E가 되는 과정, E->F가 되는 과정, F->G가 되는 과정을 언급하면서 귀납적으로 납득시키는 방법을 사용하였다.

 

매우 도움이 되었다고 생각하며, 이러한 부분으로 인해 이 책이 도움이 될 수 있었다.

아마도 시간이 조금 더 허락한다면, 이 책에서 이해하고 소화한 부분에 대해서는 내 방식대로 다시 재구성하여 내 블로그에 포스팅하게 될 수도 있을 것 같다.

 

이 책의 마지막 부분이다.

자바에 대해서 언급한 책이기 때문에 관련 도서는 자바에 대한 책을 언급했지만, 리액티브 프로그래밍이나, 코틀린을 갖다 놓아도 크게 이상하지는 않을 정도이다. 어차피 언어를 언급하는 것에 포커싱이 맞춰진 책이 아니기 때문이다.

 

장점으로는

- 모던 자바의 개념을 익히는데 차근차근히 설명해주어 친절하게 느껴진다.

- 여러 개념을 산재하는 것이 아니라, 람다, 스트림, 함수형, 리액티브 등 중요한 부분만 포커싱 했기 때문에 집중이 잘 되는 구성이다.

- 번역에 많이 신경 쓴 느낌이 보인다. 개념을 설명한 책이기 때문에 어려울 수 있는 부분들이 부드럽게 읽힌다.

 

아쉬운 점으로는

- 책의 표지를 비롯하여 내부 디자인에 대해서는 대충 훑어보면 그다지 매력적이지 않다.

- 중간중간 있는 퀴즈에 정답이 바로 이어져 있어서 문제를 풀기보다는 바로 참고할 가능성이 높다.
- 전반적으로 도표(설명에 필요한 부분들 제외)가 많지 않다 보니, 한눈에 들어오는 요점정리는 적은 느낌이다. 물론 요점정리는 있다.

- 프레디케이트와 같은 부분은 영어로 적어도 되었을 것 같기는 한데... 이것은 개인적인 느낌이다.

이 책을 평가해보면 다음과 같다.

가격: 7 / 10

내용: 10 / 10

디자인: 6 / 10

구성: 8 / 10

 

저자: 라울-게이브리얼 우르마, 마리오 푸스코, 앨런 마이크로프트

옮긴이: 우정은

 

추천 독자: 모던 언어의 개념을 제대로 알고 싶은 초중급 이상의 개발자, 자바를 업으로 하는 개발자, 고급언어를 주로 상대하는 개발자

 

가격: 34,000원

전체 페이지: 692페이지

 

** 이 리뷰는 "한빛미디어"를 통해 도서를 제공받아 작성하였습니다.

반응형

댓글