이미 소장하고 있다면 판매해 보세요.
|
〈1부 기초〉
1장. 자바 8을 눈여겨봐야 하는 이유 __1.1 왜 아직도 자바는 변화하는가? __1.2 자바 함수 __1.3 스트림 __1.4 디폴트 메서드 __1.5 함수형 프로그래밍에서 가져온 다른 유용한 아이디어 __1.6 요약 2장. 동작 파라미터화 코드 전달하기 __2.1 변화하는 요구사항에 대응하기 __2.2 동작 파라미터화 __2.3 복잡한 과정 간소화 __2.4 실전 예제 __2.5 요약 3장. 람다 표현식 __3.1 람다란 무엇인가 __3.2 어디에, 어떻게 람다를 사용할까? __3.3 람다 활용: 실행 어라운드 패턴 __3.4 함수형 인터페이스 사용 __3.5 형식 검사, 형식 추론, 제약 __3.6 메서드 레퍼런스 __3.7 람다, 메서드 레퍼런스 활용하기! __3.8 람다 표현식을 조합할 수 있는 유용한 메서드 __3.9 비슷한 수학적 개념 __3.10 요약 〈2부 함수형 데이터 처리〉 4장. 스트림 소개 __4.1 스트림이란 무엇인가? __4.2 스트림 시작하기 __4.3 스트림과 컬렉션 __4.4 스트림 연산 __4.5 요약 5장. 스트림 활용 __5.1 필터링, 슬라이싱 __5.2 매핑 __5.3 검색과 매칭 __5.4 리듀싱 __5.5 모든 기법 활용 __5.6 숫자형 스트림 __5.7 스트림 만들기 __5.8 요약 6장. 스트림과 데이터 수집 __6.1 컬렉터란 무엇인가? __6.2 리듀싱과 요약 __6.3 그룹화 __6.4 분할 __6.5 Collector 인터페이스 __6.6 커스텀 컬렉터를 구현해서 성능 개선하기 __6.7 요약 7장. 병렬 데이터 처리와 성능 __7.1 병렬 스트림 __7.2 포크/조인 프레임워크 __7.3 Spliterator __7.4 요약 〈3부 효과적인 자바 8 프로그래밍〉 8장. 리팩토링, 테스팅, 디버깅 __8.1 가독성과 유연성을 개선하는 리팩토링 __8.2 람다로 객체지향 디자인 패턴 리팩토링하기 __8.3 람다 테스팅 __8.4 디버깅 __8.5 요약 9장. 디폴트 메서드 __9.1 변화하는 API __9.2 디폴트 메서드란 무엇인가? __9.3 디폴트 메서드 활용 패턴 __9.4 해결 규칙 __9.5 요약 10장. null 대신 Optional __10.1 값이 없는 상황을 어떻게 처리할까? __10.2 Optional 클래스 소개 __10.3 Optional 적용 패턴 __10.4 Optional을 사용한 실제 예제 __10.5 요약 11장. CompletableFuture: 조합할 수 있는 비동기 프로그래밍 __11.1 Futures __11.2 비동기 API 구현 __11.3 비블록 코드 만들기 __11.4 비동기 작업 파이프라인 만들기 __11.5 CompletableFuture의 종료에 대응하는 방법 __11.6 요약 12장. 새로운 날짜, 시간 API __12.1 LocalDate, LocalTime, Instant, Duration, Period __12.2 날짜 조정, 파싱, 포매팅 __12.3 다양한 시간대와 캘린더 활용 방법 __12.4 요약 〈4부 자바 8의 한계를 넘어서〉 13장. 함수형 관점으로 생각하기 __13.1 시스템 구현과 유지보수 __13.2 함수형 프로그래밍이란 무엇인가? __13.3 재귀와 반복 __13.4 요약 14장. 함수형 프로그래밍 기법 __14.1 함수는 모든 곳에 존재한다 __14.2 영속 자료구조 __14.3 스트림과 게으른 평가 __14.4 패턴 매칭 __14.5 기타 정보 __14.6 요약 15장. OOP와 FP의 조화: 자바 8과 스칼라 비교 __15.1 스칼라 소개 __15.2 함수 __15.3 클래스와 트레이트 __15.4 요약 16장. 결론 그리고 자바의 미래 __16.1 자바 8의 기능 리뷰 __16.2 자바의 미래 __16.3 결론 부록 A 기타 언어 업데이트 부록 B 기타 라이브러리 업데이트 부록 C 스트림에 여러 연산 병렬로 실행하기 부록 D 람다와 JVM 바이트코드 |
|
★ 완전히 새로운 자바 8의 기능을 속 시원하게 배우자!
실전에 유용한 코드로 람다를 설명한다. 그리고 새로운 스트림 API를 설명하며 기존의 컬렉션 기반 코드를 스트림 API로 쉽게 이해하고 유지보수할 수 있는 코드로 개선하는 방법을 살펴본다. 또한 디폴트 메서드, Optional, CompletableFuture, 새로운 Date, Time API 등 다양한 자바 8의 주요 기능도 설명한다. 자바 8의 새로운 기능에 골머리가 아팠다면 지금 당장 이 책을 선택하자! ★ 왜 새로운 기능을 사용해야 할까? 예를 들어 새로 추가된 기능 중에서 람다를 이용하면 좀 더 간결한 자바 프로그램을 구현할 수 있다. 대부분의 독자는 이미 이벤트 핸들러, 콜백 등을 이용해 어떤 이벤트가 발생했을 때 호출될 메서드를 포함하는 객체를 등록해본 경험이 있을 것이다. 람다라면 더 다양한 분야에서 이 기능을 사용할 수 있다. 즉 람다와 람다의 친구인 메서드 레퍼런스로 어떤 동작 중 실행될 수 있는 코드나 메서드를 간단하게 인수로 전달할 수 있다. 결국 독자 여러분이 생각했던 것보다 이와 같은 기능이 자주 사용(메서드를 코드로 파라미터화하는 것뿐 아니라 새로운 스트림 API를 이용해 데이터를 수집하는 복잡한 쿼리에 이르기까지)된다는 것을 확인하게 될 것이다. ★ 이 책의 구성 이 책은 ‘기초’, ‘함수형 데이터 처리’, ‘효과적인 자바 8 프로그래밍’, ‘자바 8의 한계를 넘어서’로 분류되어 있다. 특별한 이유가 없다면 각 장은 앞 장의 내용을 이용하는 형식으로 집필되어 있으므로 순서대로 읽을 것을 강력하게 권한다. 대부분의 장에는 직접 실습할 수 있도록 다양한 퀴즈를 포함한다. _1부는 자바 8을 처음 접하는 독자 여러분에 적합한 내용을 다루는 세 개의 장을 제공한다. 1부를 끝낼 즈음엔 람다 표현식이 무엇이며, 람다를 이용해 변화하는 요구사항에 쉽게 대응할 수 있는 간결하면서도 유연한 코드를 구현할 수 있게 될 것이다. _2부는 새로운 스트림 API를 자세히 설명한다. 2부를 끝내면서 스트림이 무엇이며, 스트림을 이용해 데이터 컬렉션을 처리하는 간결하고 효율적인 애플리케이션을 구현하는 방법을 배운다. _3부는 자바 8을 더 효과적으로 사용하고, 우리의 코드를 좀 더 최신식으로 개선할 수 있는 다양한 자바 8 관련 내용을 설명한다. _4부에서는 자바로 효과적인 함수형 프로그래밍을 구현하는 방법을 설명한다. 또한 자바 8의 기능을 스칼라와 비교한다. _부록에서는 자바 8의 다양한 분야를 설명한다. 〈부록 A〉는 책에서 살펴보지 않은 자바 8 언어의 작은 특징을 요약한다. 〈부록 B〉는 유용하게 사용할 수 있도록 자바 라이브러리에 추가된 기능을 설명한다. 〈부록 C〉는 2부의 연장으로 스트림의 고급 사용법을 설명한다. 〈부록 D〉는 자바 컴파일러가 람다 표현식을 구현한 내막을 설명한다. ★ 이 책의 내용 - 자바 8의 강력한 새로운 기능을 사용하는 방법 - 멀티코어를 효과적으로 활용하는 애플리케이션을 구현하는 방법 - 리팩토링, 테스팅, 디버깅 - 함수형 프로그래밍 적용 - 퀴즈, 기습 질문, 업데이트 내용을 담은 부록 |