도서상세
장바구니에 상품을 담았습니다.
바로가기
  1. 도서정가제
  2. 소득공제
일시재고부족
25,000원
22,500원
10%
최대 적립 포인트
1,550 원
  • 구매 적립
    적립금 안내
    • 상품 적립금
    • 상품 적립금은 고객님이 웬디북에서 상품을 구매하실 경우 이에 대한 마일리지 개념으로 구매금액의 일부를 적립해 드리는 제도이며 사용은 예치금과 같이 현금처럼 사용가능하십니다.
    • 멤버십 적립금
    • 멤버십 적립금은 고객님의 멤버십(고객)등급에 따라 도서 구매액의 1 ~ 4%에 해당하는 적립금이 추가로 적립되며 적립금은 다음 주문시 현금처럼 사용이 가능합니다.
    • 다만 적립금은 예치금과는 달리, 현금으로 환불하실 수 없고 적립금의 적립일로 부터 12개월 이내에 사용하시지 않으면 자동으로 소멸됩니다.
  • 상품 적립금
    1,250원
  • 리뷰 적립
  • 최대 리뷰 적립금
    300원
22,500원
· 쿠폰 및 적립금은 결제 시 적용해 주세요
바로구매
장바구니 담기
일시재고부족
이 책을 구입하신 분들이 산 책
목차 더보기
목차
1장 코틀린을 사용한 함수형 프로그래밍
왜 함수를 객체로 다뤄야 할까요?

2장 함수 타입
함수 타입 정의
함수 타입 활용
명명된 매개변수
타입 별명
함수 타입은 인터페이스입니다

3장 익명 함수

4장 람다 표현식
까다로운 중괄호
매개변수
후행 람다
결괏값
람다 표현식 예시
단일 매개변수의 암묵적 이름
클로저
람다 표현식과 익명 함수 비교
연습문제: 함수 타입과 리터럴

5장 함수 참조
최상위 함수 참조
메서드 참조
확장 함수 참조
메서드 참조와 제네릭 타입
한정된 함수 참조
생성자 참조
한정된 객체 선언 참조
함수 오버로딩과 참조
프로퍼티 참조
연습문제: 추론된 함수 타입
연습문제: 함수 타입과 리터럴 2

6장 코틀린에서 SAM 인터페이스 지원
코틀린에서 자바 SAM 인터페이스 지원
함수형 인터페이스

7장 인라인 함수
인라인 함수
함수형 매개변수가 있는 인라인 함수
비지역 반환
crossinline과 noinline
구체화된 타입 매개변수
인라인 프로퍼티
inline 제어자의 비용
인라인 함수 사용하기
연습문제: 인라인 함수

8장 컬렉션 처리
forEach와 onEach
filter
map
mapNotNull
flatMap
연습문제: 컬렉션 처리 최적화 80
fold
reduce
sum
withIndex와 인덱스된 변형 함수들
take, takeLast, drop, dropLast, subList
연습문제: 특정 위치에 원소 추가하기
특정 위치의 원소 얻기
원소 찾기
원소 개수 세기
any, all, none
연습문제: 샵 함수 구현(어려움)
partition
groupBy
맵으로 짝지우기
distinct와 distinctBy
연습문제: 프라임 접근 리스트
sorted, sortedBy, sortedWith
가변 컬렉션 정렬하기
최댓값과 최솟값
shuffled와 random
연습문제: 컬렉션 처리 리팩터링
zip과 zipWithNext
윈도잉(windowing)
joinToString
Map, Set, String 처리
컬렉션 처리 함수를 모두 함께 사용하기
연습문제: 합격한 학생 목록
연습문제: 가장 뛰어난 학생 목록(어려움)

9장 시퀀스
시퀀스란 무엇인가?
순서가 중요하다
시퀀스는 연산을 최소한으로 수행한다
시퀀스는 무한할 수 있다
시퀀스는 각 처리 단계마다 컬렉션을 생성하지 않는다
시퀀스가 더 빠르지 않은 상황은?
자바 스트림은 어떨까?
코틀린 시퀀스 디버깅
요약
연습문제: 시퀀스 이해

10장 타입에 안전한 DSL 빌더
리시버가 있는 함수 타입
간단한 DSL 빌더
apply 사용
멀티레벨 DSL
DSL 마커(DslMarker)
더 복잡한 예
DSL은 언제 사용해야 할까?
요약
연습문제: HTML 테이블 DSL
연습문제: 사용자 테이블 행 생성하기

11장 스코프 함수
let
also
takeIf와 takeUnless
apply
부주의하게 리시버를 오버로딩할 때의 위험성
with
run
스코프 함수 사용하기
연습문제: 스코프 함수 사용하기
연습문제: orThrow

12장 컨텍스트 리시버
확장 함수의 문제점
컨텍스트 리시버 소개
사용 예
컨텍스트 리시버가 있는 클래스
주의점
요약
연습문제: 로거

13장 애로우 개요
함수와 애로우 코어(Arrows Core)
고차 함수 테스트
에러 처리
애로우 옵틱스로 데이터 불변성 유지하기

마치며
연습문제 해답
찾아보기
저자 소개
저자 : 마르친 모스카와 (Marcin Moskała)
경험 많은 개발자이자 코틀린 강사이다. 2015년부터 코틀린을 전문적으로 사용하였고, 2016년부터 코틀린에 관한 글을 썼으며, 2018년부터 코틀린을 가르치고 있다. 코틀린 분야의 GDE(Google Developer Expert)이며, 젯브레인(JetBrains)과 코틀린 교육에 대한 공식적인 파트너십을 체결하고 있는 코틀린 아카데미(Kt. Academy)의 창립자이다. 저술한 책으로는 《코틀린을 이용한 안드로이드 개발》, 《이펙티브 코틀린》, 《코틀린 코루틴》, 《코틀린 아카데미: 핵심편》이 있다.

역자 : 신성열
시스템 프로그래밍으로 개발을 시작했으며, 현재는 카카오에서 서버 개발자로 일하고 있다. C++부터 시작해 자바로, 그리고 현재는 코틀린까지 언어 영역을 넓히고 있으며, 현업에서는 코틀린의 다양한 기능을 배우고 적용하고 있다.
저자 소개 더보기
출판사 서평 더보기
출판사 서평
《이펙티브 코틀린》, 《코틀린 코루틴》의 저자 마르친 모스카와에게 배우는 함수형 프로그래밍!

코틀린은 안드로이드와 백엔드 개발에 혁신을 일으킨 강력한 언어로, 뛰어난 함수형 프로그래밍 기능을 제공합니다. 함수형 프로그래밍이라는 마법을 통해 컬렉션을 다루고, DSL 빌더를 만들며, 스코프 함수를 활용하고, 컨텍스트 리시버를 사용하여 개발자들이 더욱 직관적이고 표현력 넘치는 코드를 작성하도록 돕습니다. 또한 코틀린의 뛰어난 확장성은 애로우(Arrow) 같은 라이브러리를 활용해 타입 안전성, 안정성, 성능을 유지하면서 더욱 함수형에 가까운 프로그래밍을 가능하게 합니다. 이러한 기능들 덕분에 코틀린은 함수형 프로그래밍을 열정적으로 적용하고자 하는 개발자들에게 이상적인 언어로 자리 잡았습니다.

이 책은 코틀린을 어느 정도 사용해 본 후, 더 깊은 주제를 배우고자 하는 개발자에게 유용합니다. 이 책을 통해 함수형 프로그래밍의 진정한 매력을 발견하고, 코틀린의 강력한 기능들을 마스터하세요. 당신의 개발 실력을 한 단계 더 끌어올릴 완벽한 기회가 될 것입니다!

이 책에서 다루는 내용

함수 타입
컬렉션 처리 함수
익명 함수
시퀀스
람다 표현식
DSL 사용과 생성
함수 참조
스코프 함수
함수 인터페이스
애로우 라이브러리에 관한 필수 지식

이 책의 대상 독자

이 책은 독자 여러분이 코틀린의 기본적인 특징을 이미 알고 있다고 가정합니다. 코틀린을 매일 사용하는 개발자든, 기본 문법만 방금 익혔든 상관없습니다. 데이터 클래스가 무엇인지 알고, val과 var의 차이를 이해하고, 여러 문장(statement)이 어떻게 표현식(expression)으로도 사용되는지 알고 있으면 됩니다.

소스코드 다운로드

본문에 소개된 모든 소스코드는 다음 깃허브 저장소에서 확인할 수 있습니다.
github.com/MarcinMoskala/functional_kotlin_sources
리뷰(0)
0 / 5.0
리뷰 작성
•
리뷰를 작성하시면 소정의 적립금을 드립니다.
•
도서의 첫번째 리뷰부터 10번째 리뷰까지는 기본 적립금의 2배를 적립해 드리며, 이후 리뷰부터는 기본 적립금이 적립됩니다.
리뷰 혜택 및 유의사항
배송방법

배송은 CJ대한통운(전화 : 1588-1255)을 이용해서 보내드리고 있습니다.

3만원 이상 구매시 무료배송 가능하며, 3만원 미만의 경우 2500원의 배송비가 발생합니다.

배송기간

15시 이전에 입금확인된 주문까지는 당일날 발송하며, 일반적인 경우 다음날 책을 받아보실 수 있습니다.

주말 또는 공휴일이 있거나 시기적으로 배송이 많은 기간인 경우는 지역에 따라 1~2일이 더 소요될 수 있습니다.

주문 후, 5일이 경과해도 책이 도착하지 않는 경우에는 웬디북 고객센터(전화 : 1800-9785)로 전화를 주시거나 고객센터 > 1:1 문의를 통해 문의글을 남겨주시면 확인 후 신속히 조치하도록 하겠습니다.

묶음배송

묶음배송 원하시는 모든 주문서의 상태가 "입금대기" 또는 "결제완료" 상태일 경우에만 처리가 가능하며, 고객센터 > 1:1 문의에서 신청 할 수 있습니다.

반품안내

변심반품의 경우 도서주문일로부터 15일이내에 반품접수가 가능하며, 반품 배송비는 고객님 부담입니다.

부분 반품의 경우, 3만원 이상 주문으로 무료배송 받았으나 일부 상품 반품으로 주문금액이 3만원이 안될 경우, 이전 주문의 배송비를 포함한 왕복 배송비를 부담하셔야 합니다.

반품절차는 고객센터의 반품교환신청 페이지에서 신청을 해주시면 웬디북 고객센터에서 지정택배사에 회수요청을 하고, 방문한 택배기사님을 통해 반품도서를 보내주시면 됩니다.

운송 중 책이 손상되지 않도록 포장을 해주신 후, 포장 겉면에 “반품도서”라고 기재해주시기 바랍니다. 회수된 상품은 요청해주신 환불방법에 따라 적립 또는 환불 진행해드립니다.

(특히 팝업북 등은 조그만 충격에도 책이 손상될 수 있으므로 주의해 주시기 바랍니다.)

• 반품이 불가한 경우
  • 1. 고객에게 책임 있는 사유로 상품(띠지 또는 더스트커버 포함)이 멸실 또는 훼손된 경우
  • 2. CD 나 소프트웨어 포함, 포장이 되어 있는 모든 상품의 포장 개봉
  • 3. 만화책 및 단시간 내에 완독이 가능한 잡지
  • 4. 상품과 함께 발송된 추가사은품이 분실되거나 훼손된 경우
  • 5. 고객의 사용 또는 일부 소비에 의하여 상품의 가치가 현저히 감소한 경우
  • 6. 명시된 반품가능 기한이 지난 경우
  • 7. 세트상품중 일부 반품
교환안내

파본도서 혹은 오배송으로인한 교환은 도서주문일로부터 15일 이내에 신청하셔야 하며 이 경우 배송비는 웬디북에서 부담합니다.

(단, 팝업북과 CD가 세트인 책은 책의 특성상 7일 이내에 해주셔야 합니다.)

교환절차는 고객센터의 반품교환신청 페이지에서 신청을 해주시면 웬디북에서 새 책을 보내드리고 새 책을 받으실 때 교환도서와 맞교환 하시면 됩니다.

교환은 동일도서에 한하며, 다른 도서로 교환은 불가합니다.

운송도중 책이 손상되지 않도록 포장을 해주신 후, 포장 겉면에 “반품도서”라고 기재해주시기 바랍니다.

(특히 팝업북 등은 조그만 충격에도 책이 손상될 수 있으므로 주의해 주시기 바랍니다.)

• 교환이 불가한 경우
  • 1. 고객에게 책임 있는 사유로 상품이 멸실 또는 훼손된 경우
  • 2. 포장 상품의 포장을 해체한 경우
  • 3. 고객의 사용 또는 일부 소비에 의하여 상품의 가치가 현저히 감소한 경우
  • 4. 물품 수령 후, 15일이 경과한 경우
  • 5. 동일상품으로 교환하신 후, 다시 교환하시고자 할 경우 (이 경우에는 환불처리 해드립니다.)
신고하기
신고사유 선택
도서 입고 알림 신청
입고알림 신청하셨습니다.
입고시 {{tel}}로 문자 발송됩니다

바로 확인 하시겠습니까?
예

휴대폰 번호, 이메일 주소는

마이 페이지 > 회원정보수정에서 확인해 주세요.

관심 시리즈 신간 알림 신청
시리즈명:{{ series_name }}
관심 시리즈 신간 입고 알림 신청하셨습니다.
입고시 {{ tel }}로 문자 발송 또는
앱푸시, 이메일 등으로 알려드리겠습니다.

바로 확인 하시겠습니까?
예

휴대폰 번호, 이메일 주소는

마이 페이지 > 회원정보수정에서 확인해 주세요.

입고 알림 수신 방법 변경은

마이 페이지 > 알림 > 알림 설정에서 확인해 주세요.

푸시 알림이 오지 않을 시,

스마트폰 설정 > 알림 > 웬디북 앱 설정을 확인해 주세요

관심 작가 신간 알림 신청
작가명:{{ series_name }}
관심 작가 신간 입고 알림 신청하셨습니다.
입고시 {{ tel }}로 문자 발송 또는
앱푸시, 이메일 등으로 알려드리겠습니다.

바로 확인 하시겠습니까?
예

휴대폰 번호, 이메일 주소는

마이 페이지 > 회원정보수정에서 확인해 주세요.

입고 알림 수신 방법 변경은

마이 페이지 > 알림 > 알림 설정에서 확인해 주세요.

푸시 알림이 오지 않을 시,

스마트폰 설정 > 알림 > 웬디북 앱 설정을 확인해 주세요

{{title}}
{{content}}
{{title}}
{{content}}