장바구니 담기 close

장바구니에 상품을 담았습니다.

자바 8 인 액션 Java 8 in Action

자바 8 인 액션 Java 8 in Action 전문가를 위한 최신 자바 기법 가이드

  • 라울-게이브리얼 우르마 , 마리오 푸스코, 앨런 마이크로프트
  • |
  • 한빛미디어
  • |
  • 2015-04-01 출간
  • |
  • 512페이지
  • |
  • 183 X 235 mm
  • |
  • ISBN 9788968481796
★★★★★ 평점(10/10) | 리뷰(1)
판매가

28,000원

즉시할인가

25,200

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
25,200

이 상품은 품절된 상품입니다

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

목차

<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의 새로운 기능은 자바 1.0이 나온 이후 18년을 통틀어 가장 큰 변화다. 기존의 자바 코드 모두 그대로 사용하면서도 새로운 기능과 새로운 문법과 새로운 디자인 패턴으로 더 명확하고, 간결한 코드를 구현할 수 있다. 이 책은 함수형 언어의 영감을 받아 자바 8에 추가된 람다, 스트림, 함수형 프로그래밍, 병렬화와 공유 가변 데이터, 동작 파라미터화 등의 주요 기능을 자바 개발자에게 알려준다.

★ 완전히 새로운 자바 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의 강력한 새로운 기능을 사용하는 방법
- 멀티코어를 효과적으로 활용하는 애플리케이션을 구현하는 방법
- 리팩토링, 테스팅, 디버깅
- 함수형 프로그래밍 적용
- 퀴즈, 기습 질문, 업데이트 내용을 담은 부록

추천평
“저자는 왜 우리가 함수형 프로그래밍을 해야 하는지 차근차근 1장부터 안내를 해주고 있습니다. 제가 가장 좋아하고 백미라고 생각한 부분은 13장과 14장입니다. 자바 8 이전의 자바로 개발을 하며 좀처럼 접하지 않았던 참조 투명성이나 고차원 함수 등의 개념을 이해하는 데 좋은 가이드가 되어줄 것입니다.”
양수열, 자바 챔피언

“단시간에 효과적으로 학습할 수 있는 다양한 예제를 포함하는 정말 멋진 자바 8 가이드입니다.”
제이슨 리, 오라클

“세계 최고의 자바 8 가이드가 나왔습니다!”
윌리엄 휠러, ProData Computer Systems

“새로운 스트림 API, 람다 예제는 정말 유용하네요.”
스티브 로저스, CGTek, Inc.

“자바 8의 함수형 프로그래밍을 배우려는 사람이라면 꼭 사야 할 책입니다.”
마유르 S. 파틸, MIT Academy of Engineering

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.