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

한빛출판네트워크

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

한빛미디어

번역서

판매중

  • 저자 : 라울-게이브리얼 우르마 , 마리오 푸스코 , 앨런 마이크로프트
  • 번역 : 우정은
  • 출간 : 2015-03-19
  • 페이지 : 512 쪽
  • ISBN : 9788968481796
  • 물류코드 :2179
초급 초중급 중급 중고급 고급
5점 (1명)
좋아요 : 0

완전히 새로운 자바 8의 기능을 속 시원하게 배우자!
실전에 유용한 코드로 람다를 설명한다. 그리고 새로운 스트림 API를 설명하며 기존의 컬렉션 기반 코드를 스트림 API로 쉽게 이해하고 유지보수할 수 있는 코드로 개선하는 방법을 살펴본다. 또한 디폴트 메서드, Optional, CompletableFuture, 새로운 Date, Time API 등 다양한 자바 8의 주요 기능도 설명한다. 자바 8의 새로운 기능에 골머리가 아팠다면 지금 당장 이 책을 선택하자!


왜 새로운 기능을 사용해야 할까?
예를 들어 새로 추가된 기능 중에서 람다를 이용하면 좀 더 간결한 자바 프로그램을 구현할 수 있다. 대부분의 독자는 이미 이벤트 핸들러, 콜백 등을 이용해 어떤 이벤트가 발생했을 때 호출될 메서드를 포함하는 객체를 등록해본 경험이 있을 것이다. 람다라면 더 다양한 분야에서 이 기능을 사용할 수 있다. 즉 람다와 람다의 친구인 메서드 레퍼런스로 어떤 동작 중 실행될 수 있는 코드나 메서드를 간단하게 인수로 전달할 수 있다. 결국 독자 여러분이 생각했던 것보다 이와 같은 기능이 자주 사용(메서드를 코드로 파라미터화하는 것뿐 아니라 새로운 스트림 API를 이용해 데이터를 수집하는 복잡한 쿼리에 이르기까지)된다는 것을 확인하게 될 것이다.

 

이 책의 내용

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

 

 

저자

라울-게이브리얼 우르마

케임브리지 대학교 컴퓨터 과학 박사 과정을 밟고 있다. 임페리얼 칼리지 런던에서 컴퓨터 과학 석사 과정을 최상위 그룹으로 졸업했으며 기술 혁신상을 다수 수상했다. 다수의 스타트업 프로젝트를 포함해 구글, 이베이, 오라클, 골드만 삭스 등의 회사와 함께 일했다. 10 개 이상의 상호심사 기술논문을 저술했으며, 국제 개발자 콘퍼런스에서 20회 이상 강연했다.

저자

마리오 푸스코

레드헷에서 제이보스 룰 엔진인 Drools 코어 개발을 담당하는 선임 개발 엔지니어다. 미디어에서 금융에 이르는 다수의 기업 프로젝트에 자바 개발자나 리더로 참여했다. 함수형 프로그래밍과 도메인 전용 언어에 관심이 많다. 자신의 관심 분야를 활용해 오픈 소스 라이브러리인 lambdaj를 만들었다. lambdaj는 컬렉션을 제어할 수 있는 내부적 자바 DSL을 제공하여 자바에 함수형 프로그래밍을 도입하는 것을 목표로 한다.

저자

앨런 마이크로프트

케임브리지 대학교의 컴퓨터 랩 컴퓨팅 교수이자 1984년부터 교수회의 멤버다. 또한 로빈슨 칼리지의 펠로이고, 프로그래밍 언어 및 시스템 유럽 연합(EAPLS)의 공동창립자이며, 라즈베리 파이 재단의 공동창립자이자 이사다. 수학(케임브리지), 컴퓨터 과학(에딘버러) 학위를 갖고 있다. 약 100개의 연구 저서를 집필했으며 20명이 넘는 박사 과정 학생을 지도했다. 프로그래밍 언어와 의미론, 최적화, 구현 등이 주요 연구 분야다. Norcroft ARM C 컴파일러를 만든 코드미스트, AT&T 랩스, 인텔 연구소에서 일하는 등 업계와도 밀접한 관계를 맺어왔다.

역자

우정은

2003년 컴퓨터 공학과를 졸업하고 벨록스소프트에 입사하면서 임베디드 소프트웨어 분야에 발을 디디게 되었다. 그 후 LG전자 단말연구소를 거쳐, 현재는 썬 마이크로시스템즈(Sun Microsystems)에서 Java Licensee Engineer로 근무하고 있다. 주로 자바 가상머신(virtual machine), 임베디드 디바이스에 탑재되는 자바 플랫폼과 관련된 일을 하였다. 아이폰의 매력에 빠져들면서 번역 및 개발을 취미로 삼게 된다.

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 바이트코드 

  • 자바 9이 나온지 수개월이 지나가는 시점에 자바 8을 리뷰하고 있는게 좀 우스울수도 있지만, 리뷰를 해보려고 한다. 자바 9이 나온지 아직 시간이 많이 지난것이 아니라서 프로덕션 런타임으로 결정하기엔 시기상조라고 본다. 그래서 지금이라도 자바 8을 살펴보는 사람들에게 이 리뷰가 도움이 됐으면 한다.

    결론부터 말하면, 자바 8을 잘 사용하고 싶은 사람들 모두에게 권하고 싶은 책이다. 책을 처음부터 순서대로 읽으면 잘 짜여진 이야기를 읽는 느낌이 든다.
    1부에서는 컴퓨터의 하드웨어 발전 방향이 변함에 따라, 병렬프로그래밍의 중요성이 커지고, 자바가 함수형 프로그래밍이라는 새로운 패러다임을 받아들이게 된 이유를 차례대로 알 수 있었다.

    2부에는 이어서 스트림 API에 대해 자세히 설명한다. 기존의 명령형 프로그래밍 코드와 스트림으로 리팩토링된 코드를 비교하면서 스트림 API를 통해 명료하고 짧아진 코드를 확인해 볼 수 있다.

    3부에서는 Optional, 디폴트 메서드, CompletableFuture, 새로운 DateTime 라이브러리를 소개한다. 이들 라이브러리는 이전 자바에 비해 훨씬 강력한 기능들을 제공하기 때문에 꼭 봐야한다. 나아가 객체지향에서 자주 쓰이던 디자인 패턴이 함수형 프로그래밍을 사용하면 어떻게 간단히 구현될 수 있는지 보여준다.

    4부에서는 함수형 프로그래밍을 살펴보고, JVM위에서 돌아가는 함수형 프로그래밍 언어 스칼라와 자바를 비교한다. 또 흥미로운 내용을 부록에 넣어두었는데 이것들은 시간이 될 때마다 읽으려고 한다.

    책 전체에 걸쳐서 코딩 퀴즈와 예제가 많기 때문에 하나씩 실제로 따라해본다면 자바의 새로운 기능에 적응하기 쉬울 것이다. CompletableFuture나 LocalDateTime 같은 경우는 기존 라이브러리에 비해 훨씬 좋아졌으니 꼭 실습해보기를 바란다.

    함수형 프로그래밍이 조금 생소했기에 책을 읽는데 시간이 좀 걸렸지만 읽을 가치가 있는 책이었다.

부록/예제소스
자료명 등록일 다운로드
예제소스 2016-04-14 다운로드
결재하기
배송료 : 0원배송료란?

배송료 안내

  • 책, 아이템 등 상품을 3만원 이상 구매시 무료배송
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 도서명 :
자바 8 인 액션 : 람다, 스트림, 함수형 프로그래밍으로 새로워진 자바 마스터하기
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
자바 8 인 액션 : 람다, 스트림, 함수형 프로그래밍으로 새로워진 자바 마스터하기
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
자바 8 인 액션 : 람다, 스트림, 함수형 프로그래밍으로 새로워진 자바 마스터하기
구입처*
구입일*
부가기호*
부가기호 안내

* 회원가입후 도서인증을 하시면 마일리지 500점을 드립니다.

* 한빛 웹사이트에서 구입한 도서는 자동 인증됩니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한됩니다.

* 절판도서, eBook 등 일부 도서는 도서인증이 제한됩니다.

닫기

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

자료실