코틀린 아카데미: 고급편
2025년 02월 14일 출간
국내도서 : 2025년 01월 24일 출간
- eBook 상품 정보
- 파일 정보 PDF (4.72MB) | 377 쪽
- ISBN 9788966264728
- 지원기기 교보eBook App, PC e서재, 리더기, 웹뷰어
-
교보eBook App
듣기(TTS) 불가능
TTS 란?텍스트를 음성으로 읽어주는 기술입니다.
- 전자책의 편집 상태에 따라 본문의 흐름과 다르게 텍스트를 읽을 수 있습니다.
- 이미지 형태로 제작된 전자책 (예 : ZIP 파일)은 TTS 기능을 지원하지 않습니다.
PDF 필기가능 (Android, iOS)

쿠폰적용가 21,600원
10% 할인 | 5%P 적립이 상품은 배송되지 않는 디지털 상품이며,
교보eBook앱이나 웹뷰어에서 바로 이용가능합니다.
카드&결제 혜택
- 5만원 이상 구매 시 추가 2,000P
- 3만원 이상 구매 시, 등급별 2~4% 추가 최대 416P
- 리뷰 작성 시, e교환권 추가 최대 200원
작품소개
이 상품이 속한 분야
이 책에서 다루는 내용
제네릭 변성 제어자인터페이스 위임과 프로퍼티 위임코틀린 컨트랙트코틀린과 자바 상호운용성코틀린/JS 사용하기코틀린 리플렉션애너테이션 처리기코틀린 심벌 처리기코틀린 컴파일러 플러그인커스텀 규칙을 사용한 정적 분석
이 책의 대상 독자
이 책은 경험 많은 코틀린 개발자를 대상으로 합니다. 독자들이 함수 타입과 람다 표현식, 컬렉션 처리, DSL의 생성과 사용법, Any?와 Nothing 같은 필수 코틀린 타입을 알고 있다고 가정합니다.
소스코드 다운로드
본문에 소개된 모든 소스코드는 다음 깃허브 저장소에서 볼 수 있습니다.
https://github.com/MarcinMoskala/advanced_kotlin_sources
1장 제네릭 변성 제어자
리스트의 변성
소비자의 변성
함수 타입
공변 Nothing 객체
공변 Nothing 클래스
변성 제어자의 제한
@UnsafeVariance 애너테이션
변성 제어자의 위치
스타 프로젝션(*)
요약
연습문제: 제네릭 타입 사용
연습문제: 제네릭 응답
연습문제: 제네릭 컨슈머
2장 인터페이스 위임
위임 패턴
위임과 상속
코틀린의 인터페이스 위임 지원
래퍼 클래스
데코레이터 패턴
인터섹션 타입
한계
부모 사이의 요소 충돌
요약
연습문제: ApplicationScope
3장 프로퍼티 위임
프로퍼티 위임의 원리
getValue와 setValue의 다른 매개변수들
커스텀 프로퍼티 위임자 구현
위임자 제공하기
코틀린 표준 라이브러리의 프로퍼티 위임자
not%00; 위임자
연습문제: Lateinit 위임자 구현
lazy 위임자
연습문제: 블로그 포스트 프로퍼티
observable 위임자
vetoable 위임자
위임자로 맵 사용하기
변수가 동작하는 방식 복습하기
요약
연습문제: 뮤터블 lazy 위임자
4장 코틀린 컨트랙트
컨트랙트의 의미
인수로 받은 함수를 몇 번 호출할까?
함수가 값을 반환한다는 사실을 암시하기
컨트랙트 실제로 사용하기
요약
연습문제: 코루틴 시간 측정
2부 다양한 플랫폼에서의 코틀린
5장 자바 상호운용성
널 가능한 타입
코틀린 타입 매핑
JVM 원시 타입
컬렉션 타입
애너테이션 대상
정적 요소
@JvmField
코틀린에서 자바 접근자 사용하기
@JvmName
@JvmMultifileClass
@JvmOverloads
Unit
함수 타입과 함수 인터페이스
편법적인 이름
@Throws
@JvmRecord
요약
연습문제: 코틀린 코드를 자바에서 이용할 수 있도록 다듬기
6장 코틀린 멀티플랫폼 사용하기
멀티플랫폼 모듈 설정
expect와 actual 요소
가능성
멀티플랫폼 라이브러리
멀티플랫폼 모바일 애플리케이션
요약
연습문제: 멀티플랫폼에서의 LocalDateTime
7장 자바스크립트 상호운용성
프로젝트 설정하기
코틀린/JS를 지원하는 라이브러리 사용하기
코틀린/JS 사용하기
패키지 빌딩과 링킹
npm에 패키지 배포하기
객체 노출하기
플로우와 상태플로우 노출하기
npm 의존성 추가하기
코틀린/JS용 프레임워크와 라이브러리
자바스크립트와 코틀린/JS의 한계
요약
연습문제: 코틀린/JVM 프로젝트를 KMP로 이전하기
3부 메타프로그래밍
8장 리플렉션
클래스 계층구조
함수 참조
매개변수 참조
프로퍼티 참조
클래스 참조
직렬화 예시
타입 참조하기
타입 리플렉션 예시: 랜덤 값
코틀린 리플렉션과 자바 리플렉션
캡슐화 깨뜨리기
요약
연습문제: 함수 호출자
연습문제: 객체를 JSON으로 직렬화
연습문제: 객체를 XML로 직렬화
연습문제: DSL에 기초한 의존성 주입 라이브러리
9장 애너테이션 처리
처음 만드는 애너테이션 처리기
생성된 클래스 숨기기
요약
연습문제: 애너테이션 처리로 실행 시간 측정 래퍼 만들기
10장 코틀린 심벌 처리
처음 만드는 KSP 처리기
KSP 테스트하기
의존성과 점진적 처리
다중 라운드 처리
멀티플랫폼 프로젝트에서 KSP 사용하기
요약
연습문제: KSP로 처리 시간 측정 래퍼 만들기
11장 코틀린 컴파일러 플러그인
컴파일러 프런트엔드와 백엔드
컴파일러 확장
유명한 컴파일러 플러그인들
모든 클래스를 open으로 설정하기
타입 변경하기
함수 래퍼 생성하기
플러그인 구현 예제
요약
12장 정적 분석 도구
정적 분석 도구란?
분석 도구 종류
코틀린 코드 분석 도구
디텍트 설정하기
첫 번째 디텍트 규칙 작성하기
요약
마치며
연습문제 해답
찾아보기
이 책에서 다루는 주제를 이해하지 못하더라도 개발자가 될 수 있습니다. 심지어 실력 있는 개발자가 될 수도 있습니다. 하지만 때로는 고급 기술이 필요한 경우가 있을 것입니다. 여러분은 이 책에 나오는 기능으로 만들어진 도구를 매일 같이 사용하고 있을 겁니다. 예를 들어, 애너테이션 처리나 컴파일러 플러그인을 활용한 라이브러리, 변성 제어자를 사용하는 클래스, 컨트랙트가 있는 함수, 프로퍼티 위임 등이 있습니다. 그런데 여러분은 이 기능을 이해하고 있나요? 직접 비슷한 도구를 구현할 수 있나요? 이 기능을 분석하고 디버깅할 수 있나요? 이 책을 읽고 나면 이 모든 것이 가능해집니다. 이 책은 시니어 개발자들도 잘 이해하지 못하는 코틀린의 고급 기능을 다룹니다. 여러분이 필요한 기술을 갖추게 하며, 이전에는 상상할 수 없던 것을 가능하게 합니다. 제가 이 책을 쓰며 느낀 즐거움을 여러분도 느꼈으면 합니다.
·--- ‘지은이의 글’ 중에서
이 책은 코틀린 개발에 어느 정도 경험이 있는 개발자들이 읽기에 적합한 책입니다. 자바에는 없는 제네릭 변성 제어자를 사용하여 타입 안정성을 더할 수도 있고, 위임을 통해 클래스의 역할을 다른 클래스에 위임할 수도 있습니다. 코틀린을 자바 또는 자바스크립트와 상호운용해야 하는 분들에게도 이 책은 많은 도움이 될 것입니다. 라이브러리 제작자들은 코틀린이 제공하는 다양한 리플렉션 기능을 통해 라이브러리를 쉽게 구현할 수 있습니다. 더 나아가 애너테이션 처리기, KSP, 컴파일러 플러그인 등 다양한 고급 기능을 익히면 기존에는 생각지도 못했던 기능을 추가할 수 있을 것입니다.
--- ‘옮긴이의 글’ 중에서
작가정보
경험 많은 개발자이자 코틀린 강사이다. 2015년부터 코틀린을 전문적으로 사용하였고, 2016년부터 코틀린에 관한 글을 썼으며, 2018년부터 코틀린을 가르치고 있다. 코틀린 분야의 GDE(Google Developer Expert)이며, 젯브레인과 코틀린 교육에 대한 공식적인 파트너십을 체결하고 있는 코틀린 아카데미(Kt. Academy)의 창립자이다. 저술한 책으로는 《코틀린 코루틴》, 《코틀린 아카데미: 핵심편》, 《코틀린 아카데미: 함수형 프로그래밍》, 《 코틀린 아카데미: 이펙티브 코틀린》, 《코틀린을 이용한 안드로이드 개발》이 있다.
이 상품의 총서
Klover리뷰 (0)
- - e교환권은 적립일로부터 180일 동안 사용 가능합니다.
- - 리워드는 5,000원 이상 eBook, 오디오북, 동영상에 한해 다운로드 완료 후 리뷰 작성 시 익일 제공됩니다. (2024년 9월 30일부터 적용)
- - 리워드는 한 상품에 최초 1회만 제공됩니다.
- - sam 이용권 구매 상품 / 선물받은 eBook은 리워드 대상에서 제외됩니다.
- 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
- 도서와 무관한 내용의 리뷰
- 인신공격이나 욕설, 비속어, 혐오 발언이 개재된 리뷰
- 의성어나 의태어 등 내용의 의미가 없는 리뷰
구매 후 리뷰 작성 시, e교환권 100원 적립
문장수집
- 구매 후 90일 이내에 문장 수집 등록 시 e교환권 100원을 적립해 드립니다.
- e교환권은 적립일로부터 180일 동안 사용 가능합니다.
- 리워드는 5,000원 이상 eBook에 한해 다운로드 완료 후 문장수집 등록 시 제공됩니다. (2024년 9월 30일부터 적용)
- 리워드는 한 상품에 최초 1회만 제공됩니다.
- sam 이용권 구매 상품 / 선물받은 eBook / 오디오북·동영상 상품/주문취소/환불 시 리워드 대상에서 제외됩니다.
구매 후 문장수집 작성 시, e교환권 100원 적립
신규가입 혜택 지급이 완료 되었습니다.
바로 사용 가능한 교보e캐시 1,000원 (유효기간 7일)
지금 바로 교보eBook의 다양한 콘텐츠를 이용해 보세요!

- 구매 후 90일 이내 작성 시, e교환권 100원 (최초1회)
- 리워드 제외 상품 : 마이 > 라이브러리 > Klover리뷰 > 리워드 안내 참고
- 콘텐츠 다운로드 또는 바로보기 완료 후 리뷰 작성 시 익일 제공
가장 와 닿는 하나의 키워드를 선택해주세요.
총 5MB 이하로 jpg,jpeg,png 파일만 업로드 가능합니다.
신고 사유를 선택해주세요.
신고 내용은 이용약관 및 정책에 의해 처리됩니다.
허위 신고일 경우, 신고자의 서비스 활동이 제한될 수
있으니 유의하시어 신중하게 신고해주세요.
이 글을 작성한 작성자의 모든 글은 블라인드 처리 됩니다.
구매 후 90일 이내 작성 시, e교환권 100원 적립
eBook 문장수집은 웹에서 직접 타이핑 가능하나, 모바일 앱에서 도서를 열람하여 문장을 드래그하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다.
차감하실 sam이용권을 선택하세요.
차감하실 sam이용권을 선택하세요.
선물하실 sam이용권을 선택하세요.
-
보유 권수 / 선물할 권수0권 / 1권
-
받는사람 이름받는사람 휴대전화
- 구매한 이용권의 대한 잔여권수를 선물할 수 있습니다.
- 열람권은 1인당 1권씩 선물 가능합니다.
- 선물한 열람권이 ‘미등록’ 상태일 경우에만 ‘열람권 선물내역’화면에서 선물취소 가능합니다.
- 선물한 열람권의 등록유효기간은 14일 입니다.
(상대방이 기한내에 등록하지 않을 경우 소멸됩니다.) - 무제한 이용권일 경우 열람권 선물이 불가합니다.
첫 구매 시 교보e캐시 지급해 드립니다.

- 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
- 한 ID당 최초 1회 지급 / sam 이용권 제외
- 구글바이액션을 통해 교보eBook 구매 이력이 없는 회원 대상
- 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)