장바구니 담기 close

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

자바 람다 배우기

자바 람다 배우기

  • 토비 웨슨
  • |
  • 에이콘출판
  • |
  • 2017-08-18 출간
  • |
  • 152페이지
  • |
  • 188 X 235 mm
  • |
  • ISBN 9791161750378
판매가

12,000원

즉시할인가

10,800

배송비

2,300원

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

수량
+ -
총주문금액
10,800

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

출판사서평

★ 이 책에서 다루는 내용 ★

람다와 함수형 인터페이스, 타입 추론처럼 람다를 지원하기 위한 기능들을 심도 있게 알아본다.
■ 최신 자바의 새로운 기능에 대한 개요
■ 람다에 대한 심도 있는 내용과 그 배경, 문법, 상세 구현, 바람직한 적용 시점 및 방법
■ 함수와 클래스의 차이점, 그리고 그것들과 람다의 관계
■ 람다와 클로저 간의 차이점
■ 다양한 새 기능들을 가능하게 하는 타입 추론에 대한 개선 사항
■ 메소드 참조 사용법과 변수 범위에 대한 이해, 그리고 ‘유사 파이널(effectively final)’
의 개념
■ 람다를 사용해 생성된 바이트코드의 특징
■ 람다를 사용할 때 고려할 수 있는 예외와 모범적인 예외 처리

★ 이 책의 대상 독자 ★

애플리케이션을 새로 개발하는 경우든, 기존 자바 프로그램을 최신 자바 스타일로 변경하는 경우든 상관없이 이 책은 자바 플랫폼에서 함수형 프로그래밍의 장점을 취할 수 있도록 돕는다.

★ 옮긴이의 말★

최근 들어 많은 수의 개발자들이 자바로 작성된 기존 프로젝트들을 버려야 할 것으로 취급하며 자바를 무시하는 경우를 많이 봤다. 이처럼 자바스크립트나 파이썬과 같이 동적 언어로 개발을 시작한 많은 개발자들에게 자바는 인기 있는 언어가 아닌 것 같다.
앞서 언급한 언어들은 모두 각 분야에서 뛰어난 언어임에 틀림없지만, 무조건적으로 특정 언어를 불호하는 것은 오해에서 비롯됐다고 생각한다. 선입견의 대부분은 목표를 달성하기 위해 소프트웨어 원칙을 지키지 않거나, 올바르지 않은 설계를 사용해 개발된 결과물을 접했기 때문이라 예상한다. 한마디로 그런 조직에서는 어떤 언어를 사용했다 하더라도 비슷한 비난을 피하긴 힘들었을 것이다.
자바는 다양한 플랫폼을 지원하는 동시에 많은 수의 개발자들이 다룰 수 있는 현존하는 가장 강력한 언어 중 하나임이 분명하다.
사용하는 곳이 늘어날수록 하위 호환을 지키는 것이 중요해졌기 때문에 빠른 속도로 새로운 기능을 추가하기가 어려웠고, 이것이 비난받는 원인이라 생각한다. 하지만 자바 역시 살아남기 위해 꾸준히 노력해왔다. 최근에 나타나는 그 대표적인 변화 중 하나가 람다다. 이미 람다가 출시된 지 몇 년이 지난 터라, 많은 개발자들이 실제 현장에서 람다를 즐겨 사용하는 것을 볼 수 있다. 하지만 람다는 단순히 컬렉션을 편리하게 다루기 위한 도구라기보다는 함수형 언어의 장점을 가져오길 원했던 자바 커뮤니티의 희망이 이뤄진 것이었고, 문법이 장황해 비판받았던 자바에게는 틀림없이 오아시스 같은 존재다.
개인적으로는 자바보다도 JVM 측면의 변화에 더 주목해야 한다고 생각한다. 많은 사람들이 자바의 미래에 대해 회의적이지만 JVM이 끝까지 살아남게 될 것이라는 데는대체로 동의한다. JVM 위에서 돌아가는 언어는 클로저, 스칼라, 그루비 등이며, 그 인기와 영향력이 나날이 높아지고 있다. JVM의 이런 인기는 속도를 중시하는 애자일이나 린 방법론을 사용하는 조직에서 기기 호환성을 지켜가며 높은 생산성을 보이기 때문이다.
자바 언어의 창시자인 제임스 고슬링도 이런 주장에 힘을 보탰다.
“많은 사람들이 자바에 대해 주목하고 있는 상황에서 내가 이런 말을 하는 것은 다소 이상할 수도 있지만, 나는 자바에 대해 크게 신경 쓰지 않는다. 자바 에코시스템의 핵심은 바로 JVM이기 때문이다.”
이런 상황은 결과적으로 람다와 그 작동 원리를 JVM 수준에서 설명하는 이와 같은 책들을 더욱더 소중하게 만든다. 이 책을 통해 얻을 수 있는 지식들이 실무에 바로 적용 가능한 것들은 아니지만, 대학교 시절의 ‘프로그래밍 언어론’ 과목과 유사하게 각 언어들의 차이점에 대한 깊은 통찰을 제공함으로써 독자들로 하여금 단순한 코더가 아니라 철학을 가진 소프트웨어 엔지니어로서 성장할 수 있게 해주는 디딤돌이 될 것이다.
이 책을 번역하면서 많이 안다고 믿어왔던 내 자신에 대한 믿음이 깨졌고, 자바뿐만 아니라 함수형 프로그래밍 관련 지식까지 얻을 수 있어서 유익했다. 부디 독자들도 소중한 지식을 얻길 기원한다. 책의 내용 또는 번역에 관한 질문이나 의견은 개인 메일로 언제든지 환영한다.

목차

1장. 도입
__모던 자바로의 길
____모던 자바의 기능들


2장. 람다 소개
__함수형 프로그래밍에서 람다(λ)
____1930년대와 람다 대수
____1950년대와 리스프
____람다란 무엇인가
__함수와 클래스
____최신 자바의 람다
____이론상의 차이점
____함수와 클래스
____몇 가지 세세한 차이점들
______점유 문법
______가려진 변수들
____요약
__람다(λ) 기본 문법
____문법 상세 내역
____요약


3장. 람다 깊이 이해하기
__함수형 인터페이스
____@FunctionalInterface
____상속
____다른 인터페이스 개선 사항들
____요약
__타입 추론 개선 사항
____자바의 타입 추론
____람다를 위한 대상 타이핑
______메소드 호출 시의 타입 인자
______연쇄 메소드 호출 시의 타입 인자
__메소드 참조
____예제
____메소드 참조의 유형
____생성자 참조
____정적 메소드 참조
____특정 객체의 인스턴스 메소드 참조
____람다가 뒤에 인스턴스를 생성하는 임의의 객체의 인스턴스 메소드 참조
____요약
__변수 범위
____유사 파이널
______파이널 우회
__예외 처리
____콜백 사용
____람다 작성 중의 예외 처리
____람다 호출자(람다 호출 시 에러 처리)
__람다 vs. 클로저
____기본적인 차이점
____기타 차이점들
____요약
____바이트코드 개요
____기술자
____메소드 시그니처 변환하기
____예제 코드들
____예제1
____예제2
____예제3
____예제4
____예제4(메소드 참조 사용)
____예제5
____요약

저자소개

저자 토비 웨슨(Toby Wetson)은 최신 소프트웨어 개발, 그중에서도 함수형 객체지향 프로그래밍, 애자일, 린의 베스트 사례들을 전문으로 한다. 『Essential Acceptance Testing』(2013)을 저술했고, 정기적으로 블로그에 글을 올리면서 때로는 잡지에도 기고한다. 15년 넘게 소프트웨어 산업의 일원이었고 자신이 하는 일을 사랑한다. 소프트웨어 개발에 대해 말하고 쓰는 것과 온라인으로 자신의 경험을 공유하는 것을 좋아한다.

도서소개

자바8에서 새롭게 도입된 기능인 람다의 사용법을 설명하는 글은 많지만, 사용법뿐만 아니라 그 원리에 대해서도 깊이 이해하기에는 부족하다. 이 책은 더 깊은 수준에서 람다와 그 원리에 대해서 이해하고 싶은 사람들을 위해 쓰였다. 장황하지 않은 람다의 특성 그대로의 사용법이나 독자들이 다른 책에서 접해봤을 지식보다 더 다양한 주제를 다룬다. JVM 수준에서의 람다의 작동원리를 소개하고 한층 더 높은 수준의 엔지니어가 될 수 있는 기회를 제공한다.

교환 및 환불안내

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