메뉴 바로가기 검색 및 카테고리 바로가기

한빛미디어

독자리뷰

'모던 자바 인 액션'을 읽고

onedayi***

|

2019-09-15

모던 자바 인 액션 : 람다, 스트림, 함수형, 리액티브 프로그래밍으로 새로워진 자바 마스터하기

자바 1.0이 나온 이후 18년을 통틀어 가장 큰 변화가 자바 8 이후 이어지고 있다. 자바 8 이후 모던 자바를 이용하면 기존의 자바 코드 모두 그대로 쓸 수 있으며, 새로운 기능과 문법, 디자인 패턴으로 더 명확하고 간결한 코드를 구현할 수도 있다.

  • 저자 : 라울-게이브리얼 우르마 , 마리오 푸스코 , 앨런 마이크로프트
  • 번역 : 우정은
  • 출간 : 2019-08-01

 

KakaoTalk_20190915_154607696_02.jpg

 

 

소개

제목

모던 자바 인 액션(Modern Java in Action) - 전문가를 위한 자바 8, 9, 10 기법 가이드

저자

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

출판사

한빛미디어

리뷰

대상

중급 이상의 Java 개발자 중에서 최신 Java에 대해서 깊이 있게 공부하고자 하는 사람에게 추천

세줄 요약

Java 8이상에 추가된 람다 표현식(Lambda Expression)과 스트림(Stream) API 소개

Java 8, 9의 람다, 스트림의 활용 및 최신 프로그래밍 기법 설명

Java의 고급 병렬 프로그래밍 및 함수형 프로그래밍

리뷰

Java는 가장 인기 있는 언어로 자리 잡았으나, 끊임 없이 다른 언어들로부터 그 자리를 위협 받고 있습니다. Javascript는 프론트엔드 뿐만 아니라 서버 프로그래밍용으로도 자리를 넓혀 가고 있고, Python은 좋은 생산성을 가지되, 특히 AI가 발전하면서 많은 부분에서 활용되면서 인기가 높아지고 있습니다. 이러한 상황에서 Java는 생존을 위해 끊임 없이 발전을 할 수 밖에 없었습니다. 이러한 과정에서 람다 표현식, 스트림, 함수형, 리액티브 프로그래밍이 추가된 것은 생존을 위한 어쩔 수 없는 선택이었다고 생각됩니다.

객체지향이 유행하면서 자연스럽게 C에서 C++, Java 등이 유행하게 되었고, JVM으로 돌아가는 Java는 개발자에게 있어서 C보다 많은 편리함을 제공해 주었습니다. 특히나 서버 개발 언어로서 인기를 끌었고 Spring을 기반으로 한 전자정부프레임워크를 표준으로 삼은 우리나라에서는 아주 대중적인 언어가 되었습니다. 하지만 생산성에서 문제가 되었고, C와 비교되는 성능 이슈, 함수형 프로그래밍, 머신 러닝 및 AI가 유행하면서 그 자리를 위협받고 있습니다.

Part I, II 에서는 Java 8, 9, 10, 11에서의 변화를 다룹니다. 람다 표현식이 무엇인지, 스트림 API를 사용하여 데이터를 어떻게 수집하고 처리하는 지 설명하여, 추가로 스트림을 활용한 병렬 데이터 처리에 대해 설명합니다. 개인적으로 Java 7 이전과 Java 8 이후는 그 차이가 매우 크다고 생각합니다. 특히나 람다식과 스트림을 이용하여 훨씬 간결한 코드를 작성할 수 있고, 함수형 프로그래밍의 개념을 적용할 수 있습니다.

Part III, IV에서는 최신 Java 프로그래밍 기법을 설명합니다. 일반적으로 프로그래밍 시 가장 많이 사용하는 Collection API의 개선된 점에 대해서 다루며, 람다를 활용한 리팩터링, 테스팅, 디버깅을 설명합니다. 추가로 null 처리, 새로운 날짜와 시간 API 및 Java 모듈 시스템에 대해서 설명합니다. 중급 이상의 개발자분들이라면 리팩터링이 얼마나 중요한지는 잘 아시리라 믿습니다. 이 파트에서는 람다 및 새로운 API 등을 활용하여 리팩토링을 하고자 한다면 반드시 읽어야 하는 부분입니다.

Part V, VI에서는 Java에서는 동시성 및 Java 진화의 방향을 다룹니다. 컴퓨터 하드웨어의 가격이 저렴해지면서 많은 수의 core를 가진 PC 및 서버가 증가하였습니다. 이에 프로그램의 성능을 위해 다중 코어를 활용하기 위한 멀티 쓰레딩 프로그래밍 및 동시성 프로그래밍은 필수가 되었습니다. Part V에서는 개선된 자바의 동시성에 대한 설명을 합니다. 마지막으로 Part VI에서는 한수형 프로그래밍 기법에 대해서 자세히 설명하며 Java의 발전 방향에 대해서 설명합니다.

후기

Java로 개발을 한 지 10년이 넘은 시점에서 Java 7 이하로 개발된 레거시 시스템을 개발하고 리팩토링하면서 그 한계를 느끼곤 합니다. 위에서 언급했듯이 함수형 프로그래밍이 유행하고, 하드웨어가 저렴해지고, 그에 따라 AI와 ML이 유행하면서 Java는 변화할 수 밖에 없었다고 생각합니다. 특히 Java 8에서의 변화는 그 변화의 크기가 큽니다. 새로운 시대의 흐름에 맞추기 위해서 Java라는 언어도 변화를 하였고, 이를 활용하는 프로그래머도 변화를 해야합니다. 이 책은 '자바 8 인 액션'과 함께 새로운 Java를 익히기 위해서 가장 좋은 책이라 생각됩니다. 새로운 Java에 대해서 깊이 있게 공부하고자 하는 중급 이상의 개발자에게 아주 좋은 책이라 생각됩니다.

 

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?