[PART Ⅰ 함수형 기초]
CHAPTER 1 함수형 프로그래밍 소개
1.1 어떤 것이 언어를 ‘함수형’으로 만드는가?
1.2 함수형 프로그래밍의 개념
1.3 함수형 프로그래밍의 장점
1.4 함수형 프로그래밍의 단점
핵심 요약
CHAPTER 2 함수형 자바
2.1 자바 람다란?
2.2 람다의 실전 활용
2.3 자바의 함수형 프로그래밍 개념
핵심 요약
CHAPTER 3 JDK의 함수형 인터페이스
3.1 네 가지 함수형 인터페이스
3.2 함수형 인터페이스 변형이 많은 이유
3.3 함수 합성
3.4 함수형 지원 확장
핵심 요약
[PART Ⅱ 함수형 접근 방식]
CHAPTER 4 불변성
4.1 객체 지향 프로그래밍의 가변성과 자료 구조
4.2 함수형 프로그래밍의 불변성
4.3 자바 불변성 상태
4.4 불변성 만들기
핵심 요약
CHAPTER 5 레코드
5.1 데이터 집계 유형
5.2 도움을 주기 위한 레코드
5.3 사용 사례와 일반적인 관행
5.4 레코드를 마무리하며
핵심 요약
CHAPTER 6 스트림을 이용한 데이터 처리
6.1 반복을 통한 데이터 처리
6.2 함수형 데이터 파이프라인으로써의 스트림
6.3 스트림 파이프라인 구축하기
6.4 스트림 사용 여부 선택
핵심 요약
CHAPTER 7 스트림 사용하기
7.1 원시 스트림
7.2 반복 스트림
7.3 무한 스트림
7.4 배열에서 스트림으로, 그리고 다시 배열로
7.5 저수준 스트림 생성
7.6 파일 I/O 사용하기
7.7 날짜와 시간 처리하기
7.8 JMH를 활용하여 스트림 성능 측정하기
7.9 컬렉터 알아보기
7.10 (순차적인 스트림에 대한 고찰
핵심 요약
CHAPTER 8 스트림을 활용한 병렬 데이터 처리
8.1 동시성 vs 병렬성
8.2 병렬 함수 파이프라인으로써의 스트림
8.3 병렬 스트림 활용
8.4 병렬 스트림 활용 시기와 주의할 점
핵심 요약
CHAPTER 9 Optiona
이 책의 내용
함수형 프로그래밍의 고수준 개요
함수형 사고방식 키우기
다양한 함수형 프로그래밍 개념 및 함수형 프로그래밍 활용 방법
언어나 패러다임에 구애받지 않는 프로그래밍 스킬 높이기
자바의 새로운 함수형 기능을 완전히 채택하지 않고 업무에 바로 활용하는 방법
객체 지향의 진화, 함수형 프로그래밍으로 자바 코드 최적화
이 책은 함수형 프로그래밍(FP의 핵심 개념을 깊이 있게 다루며, 특히 자바에서 FP를 채택하는 구체적인 이유를 상세히 설명합니다. 1부에서는 FP의 핵심 개념과 역사, 자바에서 FP를 구현하는 방법과 사용 가능한 기능에 대해 소개하고, 2부에서는 새롭게 도입된 기능들을 어떻게 적용할 수 있는지 배워봅니다. 이 과정에서 레코드와 스트림 같은 주요 기능들을 다양한 예제로 학습할 뿐만 아니라, 자바에 FP를 실제로 적용해보며 코드의 유연성과 확장성을 높이는 노하우를 엿볼 수 있습니다. 더불어 OOP와 FP를 비교하며 설명하여, 누구나 오해하기 쉬운 내용까지 명확하게 이해할 수 있게 도와줍니다.
추천사
함수형 프로그래밍 개념뿐만 아니라 함수형 프로그래밍 관점에서 문제에 접근하는 방법을 직접 실행해보며 배울 수 있는 책입니다.
- 신진욱 (네이버 백엔드 개발자
실무에서도 많이 사용하고 있는 패턴을 함수형으로 접근하는 방법을 다루고 있습니다. 특히, 디자인 관점에서 풀어내는 부분이 인상적이었습니다. 기존 프로젝트를 함수형 프로그래밍으로 리팩터링하는 것을 고려하고 있다면 반드시 이 책을 읽어보길 바랍니다.
- 심민우 (빅데이터 백엔드 개발자
책을 읽으면 읽을수록 자바 프로그래밍에 대한 더 깊은 이해와 실제 프로젝트를 함수형 프로그래밍으로 리팩터링하는 능력을 키울 수 있습니다. 함수형 프로그래밍에 관심 있는 모든 자바 개발자에게 강력히 추천합니다.
- 이지수 (풀스택 개발자
이펙티브 자바 수준의 책이 너무 어렵다고 생각한다면 이 책을 자바에 대한 심도 있는 입문서로 추천하고 싶습니다.
- 이기하 (