이미지 검색을 사용해 보세요
검색창 이전화면 이전화면
최근 검색어
인기 검색어

소득공제
코틀린 아카데미 3권 세트
핵심편 + 함수형 프로그래밍 + 고급편 3권
가격
82,000
10 73,800
YES포인트?
4,100원 (5%)
5만원 이상 구매 시 2천원 추가 적립
결제혜택
카드/간편결제 혜택을 확인하세요
  • 이 상품은 YES24에서 구성한 상품입니다(낱개 반품 불가).

이미 소장하고 있다면 판매해 보세요.

  •  국내배송만 가능
  •  문화비소득공제 신청가능

이 상품의 구성 소개

책소개

목차

『코틀린 아카데미 : 핵심편』
1장 코틀린은 어떤 언어인가?

코틀린 플랫폼
코틀린 IDE
활용 분야

2장 코틀린으로 만드는 첫 번째 프로그램

라이브 템플릿
JVM에서 일어나는 과정
패키지와 임포트
요약
연습문제: 첫 번째 프로그램

3장 변수

4장 기본 타입, 기본 타입의 리터럴과 연산




문자
문자열
요약
연습문제: 기본값 연산

5장 조건문: if, when, try, while

if 문
when 문
조건으로 값을 받는 when 문
is 확인
명시적 캐스팅
스마트 캐스팅
while과 do-while 문
요약
연습문제: when 사용하기
연습문제: 시간을 깔끔하게 출력하기

6장 함수

단일 표현식 함수
함수의 레벨
매개변수와 인수
Unit 반환 타입
vararg 매개변수
명명된 매개변수 구문과 디폴트 인수
함수 오버로딩
중위 표기법
함수 형식
요약
연습문제: 개인 정보 출력

7장 for 문의 강력함

범위
브레이크(break)와 컨티뉴(continue)
사용 예
요약
연습문제: 범위 연산

8장 널 가능성

안전 호출
널 아님 어설션
스마트 캐스팅
엘비스 연산자
널 가능한 타입의 확장 함수
코틀린에서 null은 우리의 친구입니다
지연 초기화(lateinit)
요약
연습문제: 사용자 정보 처리기

9장 클래스

멤버 함수
프로퍼티
생성자
코틀린과 자바에서 데이터를 표현하는 클래스
내부 클래스
요약
연습문제: Product 클래스 구현

10장 상속

구성 요소 오버라이딩
비어 있지 않은 생성자가 있는 부모
super 호출
추상 클래스
인터페이스
가시성
Any
요약
연습문제: GUI 뷰 계층구조 시뮬레이션

11장 데이터 클래스

문자열로 변환
객체 동등성
해시 코드
객체 복사
구조 분해
구조 분해를 사용하는 경우와 방법
데이터 클래스의 제약
튜플 대신 데이터 클래스를 사용하세요
요약
연습문제: 데이터 클래스

12장 객체

객체 표현식
객체 선언
컴패니언 객체
데이터 객체 선언
상수
요약
연습문제: 피자 공장

13장 예외

예외 던지기
예외 정의
예외 잡기
표현식으로 사용되는 try-catch 블록
finally 블록
중요한 예외
예외의 계층구조
요약
연습문제: 예외 잡기

14장 열거형 클래스

열거형 값의 데이터
커스텀 메서드를 가진 열거형 클래스
요약
연습문제: 요일 열거형

15장 봉인된 클래스와 인터페이스

봉인된 클래스와 when 표현식
봉인된 타입 대 열거형
사용 예
요약

16장 애너테이션 클래스

메타-애너테이션
주 생성자에 애너테이션 추가하기
리스트 리터럴
요약

17장 확장

확장 함수 살펴보기
확장 프로퍼티
확장 대 멤버
객체 선언에서의 확장 함수
멤버 확장 함수
사용 예
요약
연습문제: 변환 및 측정 단위 생성

18장 컬렉션

인터페이스 계층구조
가변 타입 대 읽기 전용 타입
컬렉션 생성
리스트
세트

실무에서의 배열 사용 예
요약
연습문제: 목록 관리

19장 연산자 오버로딩

연산자 오버로딩의 예
산술 연산자
in 연산자
iterator 연산자
등호와 부등호 연산자
비교 연산자
인덱스가 있는 접근 연산자
증강 할당문
단항 전위 연산자
증가 및 감소
invoke 연산자
연산자 우선순위
요약
연습문제: 화폐 연산

20장 코틀린 타입 시스템의 묘미

타입이란 무엇인가?
타입이 왜 필요한가?
클래스와 타입의 관계
실제 코드에서 클래스와 타입의 비교
타입 간의 관계
Nothing: 모든 타입의 서브타입
return과 throw의 결과 타입
도달할 수 없는 코드가 있는 경우
null의 타입
요약
연습문제: 타입들의 가장 가까운 서브타입

21장 제네릭

제네릭 함수
제네릭 클래스
제네릭 클래스와 널 가능성
제네릭 인터페이스
타입 매개변수와 상속
타입 소거
제네릭 제약 조건
스타 프로젝션
타입 인수에서 사용하는 언더스코어 연산자
요약
연습문제: 스택

마치며
연습문제 해답
찾아보기

『코틀린 아카데미 : 함수형 프로그래밍』
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)
고차 함수 테스트
에러 처리
애로우 옵틱스로 데이터 불변성 유지하기

마치며
연습문제 해답
찾아보기

『코틀린 아카데미 : 고급편』
1부 코틀린의 고급 기능

1장 제네릭 변성 제어자

리스트의 변성
소비자의 변성
함수 타입
공변 Nothing 객체
공변 Nothing 클래스
변성 제어자의 제한
@UnsafeVariance 애너테이션
변성 제어자의 위치
스타 프로젝션(*)
요약
연습문제: 제네릭 타입 사용
연습문제: 제네릭 응답
연습문제: 제네릭 컨슈머

2장 인터페이스 위임

위임 패턴
위임과 상속
코틀린의 인터페이스 위임 지원
래퍼 클래스
데코레이터 패턴
인터섹션 타입
한계
부모 사이의 요소 충돌
요약
연습문제: ApplicationScope

3장 프로퍼티 위임

프로퍼티 위임의 원리
getValue와 setValue의 다른 매개변수들
커스텀 프로퍼티 위임자 구현
위임자 제공하기
코틀린 표준 라이브러리의 프로퍼티 위임자
notNull 위임자
연습문제: 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장 정적 분석 도구

정적 분석 도구란?
분석 도구 종류
코틀린 코드 분석 도구
디텍트 설정하기
첫 번째 디텍트 규칙 작성하기
요약

마치며
연습문제 해답
찾아보기

저자 소개2

마르친 모스카와

관심작가 알림신청
 

Marcin Moskała

경험 많은 개발자이자 코틀린 강사이다. 2015년부터 코틀린을 전문적으로 사용하였고, 2016년부터 코틀린에 관한 글을 썼으며, 2018년부터 코틀린을 가르치고 있다. 코틀린 분야의 GDE(Google Developer Expert)이며, 젯브레인(JetBrains)과 코틀린 교육에 대한 공식적인 파트너십을 체결하고 있는 코틀린 아카데미(Kt. Academy)의 창립자이다. 저술한 책으로는 『코틀린을 이용한 안드로이드 개발』, 『이펙티브 코틀린』, 『코틀린 코루틴』, 『코틀린 아카데미: 함수형 프로그래밍』 등이 있다.

마르친 모스카와의 다른 상품

시스템 프로그래밍으로 개발을 시작했으며, 현재는 카카오에서 서버 개발자로 일하고 있다. C++부터 시작해 자바로, 그리고 현재는 코틀린까지 언어 영역을 넓히고 있으며, 현업에서는 코틀린의 다양한 기능을 배우고 적용하고 있다.

신성열 의 다른 상품

품목정보

발행일
2025년 01월 24일
쪽수, 무게, 크기
983쪽 | 1030g | 172*225*47mm

출판사 리뷰

이 책에서 다루는 내용

ㆍ 변수, 값, 타입
ㆍ 조건문과 반복문
ㆍ 널가능성 지원
ㆍ 클래스, 인터페이스, 상속
ㆍ 객체 표현식과 선언
ㆍ 데이터 클래스, 봉인된 클래스, 열거형 클래스, 애너테이션 클래스
ㆍ 예외
ㆍ 확장 함수
ㆍ 컬렉션
ㆍ 연산자 오버로딩
ㆍ 타입 시스템
ㆍ 제네릭

이 책의 대상 독자

이 책은 코틀린으로 프로그래밍할 때 반드시 알아야 할 핵심 기능들을 다루고 있어 코틀린으로 개발한 경험은 있지만 코틀린의 기본 기능을 처음부터 제대로 배우고 싶은 개발자나, 코틀린에 익숙하지는 않지만 다른 언어로 개발한 경험이 있는 개발자들이 읽기에 적합합니다.

소스코드 다운로드

본문에 소개된 모든 소스코드는 다음 깃허브 저장소에서 볼 수 있습니다.
https://github.com/MarcinMoskala/kotlin_essentials_sources

리뷰/한줄평3

리뷰

10.0 리뷰 총점

한줄평

첫번째 한줄평을 남겨주세요.

73,800
1 73,800