rational***
2019-09-09

자바 1.0이 나온 이후 18년을 통틀어 가장 큰 변화가 자바 8 이후 이어지고 있다. 자바 8 이후 모던 자바를 이용하면 기존의 자바 코드 모두 그대로 쓸 수 있으며, 새로운 기능과 문법, 디자인 패턴으로 더 명확하고 간결한 코드를 구현할 수도 있다.
모던 자바 인 액션은 이름 그대로 최신 자바를 다루고 있으며 또한 실제로 사용할 수 있는 코드로 작성되어 있다.
단, 이 책은 절대로 초보한테 어울리는 책은 아니며, 기본적으로 자바의 대한 전반적인 내용을 알고 있음을 기반으로 최신 자바 언어에 대한 내용과 새롭게 추가된 함수형 프로그래밍 기법, 멀티쓰레딩에 관련된 내용이 많이 추가가 되었다.
따라서 이 책은 자바를 많이 써봤고, 최신 기능과 최신 자바를 좀 더 새롭게 이용하거나, 최신 자바에 대해서 레퍼런스를 얻고 싶다면 이 책을 적극 추천한다.
책 내용은 기본적으로 모던 자바에서 추가된 내용을 주로 다룬다. 이 때 상세한 코드가 첨부되어있어 코드만 보고도 이를 어떻게 활용할지 감이 오고, 또한 실무에서 실제로 볼법한 사례를 예시로 들어, 후에 실무 개발 능력에 크게 도움을 주는 내용들도 많다.
특히 재미있는 부분은 멀티쓰레딩 및 동기화 기법에 대한 자바의 새로운 문법이 굉장히 강화가 되었으며, 이를 활용하여 멀티쓰레딩 환경에서 높은 성능을 보장할 수 있게 되었다.
자바8부터는 최근 새로운 프로그래밍 기법으로 떠오르는 함수형 프로그래밍 기법이 자바8에서부터 추가되어, 기존의 자바 코드와는 전혀 다르게 코드의 길이가 줄어들며, 이는 생산성 향상의 주 요인이 될 수 있다. 또한 가독성 또한 높아지게 되어 유지보수가 쉬워지게 된다.
최근에 대부분의 언어들은 함수형 프로그래밍 기법을 활용할 수 있도록 람다를 지원하고 있으며, 자바는 이를 빠르게 수용하였다. 따라서 기존의 함수형 프로그래밍 패러다임에 익숙하지 않은 초급 개발자들은 이참에 함수형 프로그래밍 패러다임에 대해서 공부해야 할것이다.
이 책을 보면서 가장 만족스러웠던 부분은, 동기화 관련 부분이다. 멀티쓰레딩은 최근 컴퓨팅 상황에서 매우 중요한 역할을 하지만 실상 이 내용을 모르고 단일프로세싱 환경만 사용하는 개발자들에게 꼭 필요한 내용이라고 생각한다.
모던 자바는 동기화 관련된 부분을 아주 깔끔하게 처리해주고 있으며, 이에 대한 API와 정보들 또한 매우 많이 존재한다. 따라서 자바8에서 부터 제공하는 병렬 처리 부분은 심도있게 공부해야 할 것이다.
단순히 이러한 문법을 나열하는 것을 넘어서 이 책은 개발론적인 부분까지 다루게 된다. 실제로 사용하는 코드와 실무에서 사용하는 코드가 다를 수도 있지만, 이 책은 실무에서 사용할 법한 개발론적인 부분을 심도있게 다룬다.
이 책을 보면서 최신 자바에 대한 이해를 포함하여 실제 사용되는 사례들을 보면서 많은 지식을 얻을거라고 생각한다. 이 책으로 초보 자바 개발자들은 중급 개발자로 도약할 수 있기를 바란다.
이 책은 한빛출판네트워크의 '나는 리뷰어다' 이벤트를 통해 제공받은 도서입니다.