후니의 IT인프라 사전
[한빛미디어] <함수형 프로그래밍 with 자바> 리뷰 본문
총평
- 책의 난이도 : ★★★★☆
- 추천 별점 : ★★★★★
- 추천 독자 : 자바를 이미 어느정도 사용하고 알고있는 개발자 중 함수형 프로그래밍을 적용해보고 싶은 분
- 지은이 : 벤 바이디히 지음 / 허귀영 옮김
- 출판사 : 한빛미디어
말그대로 자바를 이용한 함수형 프로그래밍을 어떻게 적용할 것인지를 다루는 책입니다. 자바는 기본적으로 객체지향형 프로그래밍을 지향하고 있습니다. 다만 이는 병렬 처리를 통한 소프트웨어의 수평 확장이 쉽지 않습니다. 만약 문제가 간단하고 서로 관련이 없는 하위 문제로 분할할 수 있는 경우 병렬 처리가 훨씬 효과적입니다. 이 경우 함수형 프로그래밍이 유용하게 사용될 수 있습니다.
이 책을 통해서 저자는 언어를 함수형으로 만드는 다양한 개념들과 JDK에서 제공하는 도구 또는 직접 생성한 도구들을 사용해 자바 코드에 결합하는 방법을 중점으로 설명합니다.
책의 내용
1부에서는 함수형 프로그램이의 핵심 개념과 역사, 자바에서 구현 하는 방법을 배워봅니다.
2부에서는 함수형 원칙에 대해서 알아보고 레코드와 스트림 등의 주요 기능을 예제를 통해 학습합니다.
좀 더 구체적인 내용은 다음과 같습니다.
1장. 함수형 프로그래밍 소개 - 함수형 프로그래밍이 무엇인지, 여기서 쓰이는 개념인 불변성, 재귀 등을 학습합니다.
2장. 함수형 자바 - 람다 문법과 구성, 익명 클래스, 람다 생성 및 호출 방법 등을 학습합니다.
3장. JDK 함수형 인터페이스 - Function, Consumer, Supplier, Predicate 이 4가지 인터페이스를 학습하고, 함수 합성이나 확장 등을 알아봅니다.
4장. 불변성 - 불변성 상태는 무엇인지를 알아보고 직접 만들어봅니다.
5장. 레코드 - 데이터 유형으로 튜플이나 POJO를 만들어봅니다. 레코드의 내부 동작과 특징에 대해서 상새하게 알아보고 다양한 사례를 통해 학습합니다.
6장. 스트림을 이용한 데이터 처리 - 함수형 데이터 파이프라인으로써의 스트림의 특성을 알아보고 파이프라인을 구축해봅니다.
7장. 스트림 사용하기 - 원시 / 반복 /무한 스트림이 무엇인지 알아보고 배열에서 스트림으로 변경하는 것을 알아봅니다. 저수준 스트림을 생성해보고 다양하게 사용해봅니다. JMH를 통해서 스트림 성능을 측정하는 것 등을 학습합니다.
8장. 스트림을 활용한 병렬 데이터 처리 - 병렬 스트림에 대해서 알아보고 활용해보며 주의할 점은 무엇인지 학습해봅니다.
9장. Optional을 사용한 null 처리 - null 참조에 대해서 알아보고 Optional이 무엇인지 알아봅니다.
10장. 함수형 예외 처리 - try-catch블록에 대해 알아보고 람다에서 체크 에외 함수형으로 예외를 다뤄봅니다.
11장. 느긋한 계산법(지연평가) - 자바의 구조에 대해서 알아보고 람다와 고차 함수 등을 통해서 다양한 접근 방식을 확인해봅니다.
12장. 재귀 - 재귀에 대해서 알아보고 다양한 예시를 학습합니다.
13장. 비동기 작업 - 비동기 파이프라인을 구축해보고, 스레드 풀에 대한 개념을 알아봅니다.
14장. 함수형 디자인 패턴 - 함수형 디자인 패턴인 팩토리 / 데코레이션 / 전략 / 빌더 등의 패턴을 알아봅니다.
15장. 자바를 위한 함수형 접근 방식 - 함수형 아키텍처를 알아보고 어떤식으로 구성해야하는지 학습해봅니다.
책의 구성
- Note등을 통해서 부가 설명이 잘되어 있고, 키워드는 색깔 및 블러 처리로 정리가 용이하게 되어있습니다.
- 각 장의 마지막에는 핵심 요약이 있어서 학습 내용을 확인해 볼 수 있습니다.
이상으로 도서 리뷰를 마치겠습니다.
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."
'도서리뷰 > IT 도서' 카테고리의 다른 글
[한빛미디어] <혼자 공부하는 네트워크> 리뷰 (0) | 2024.05.10 |
---|---|
[제이펍] <소프트웨어 개발의 진주/ 소프트웨어 요구사항의 정수> 리뷰 (0) | 2024.04.13 |
[한빛미디어] <혼자 공부하는 첫 프로그래밍 with 파이썬> 리뷰 (0) | 2024.04.12 |
[한빛미디어] <GPT-4를 활용한 인공지능 앱 개발> 리뷰 (0) | 2024.03.17 |
[한빛미디어] <혼자 공부하는 자바 - 개정판> 리뷰 (0) | 2024.02.16 |