Part 01 코틀린으로 스크립팅 하기
Chapter 01 코틀린 시작하기
1-1 코틀린을 사랑할 수 밖에 없는 이유
1-2 왜 코틀린을 선택해야 하는가?
1-3 코틀린 사용하기
1-4 바이트코드로 컴파일하고 실행하기
1-5 다른 타깃으로 컴파일하기
1-6 어떤 옵션을 선택해야 할까?
정리
Chapter 02 Java 개발자를 위한 코틀린 필수 사항
2-1 더 적은 타이핑
2-2 현명한 경고
2-3 var보다는 val
2-4 향상된 동일성 체크
2-5 문자열 템플릿
2-6 RAW 문자열
2-7 표현식은 많이, 명령문은 적게
정리
Chapter 03 함수를 사용하자
3-1 함수 생성
3-2 기본 인자와 명시적 인자
3-3 다중인자와 스프레드
3-4 구조분해
정리
Chapter 04 외부 반복과 아규먼트 매칭
4-1 범위와 반복
4-2 배열과 리스트의 반복
4-3 when을 사용해야 할 때
정리
Chapter 05 콜렉션 사용하기
5-1 콜렉션의 특징
5-2 페어와 트리플 사용하기
5-3 객체 배열과 프리미티브 배열
5-4 리스트 사용하기
5-5 셋 사용하기
5-6 맵 사용하기
정리
Chapter 06 오류를 예방하는 타입 안정성
6-1 Any와 Nothing 클래스
6-2 Null 가능 참조
6-3 타입 체크와 캐스팅
6-4 명시적 타입 캐스팅
6-5 제네릭: 파라미터 타입의 가변성과 제약사항
6-6 구체화된 타입 파라미터
정리
Part 02 객체지향 코틀린
Chapter 07 객체와 클래스
7-1 객체와 싱글톤
7-2 클래스 생성
7-3 컴패니언 객체와 클래스 멤버
7-4 제네릭 클래스 생성
7-5 데이터 클래스
정리
Chapter 08 클래스 계층과 상속
8-1 인터페이스와 추상 클래스 생성
8-2 중첩 클래스와 내부 클래스
8-3 상속
8-4 씰드 클래스
8-5 Enum의 생성과 사용
정리
Chapter 09 델리게
코틀린은 멀티패러다임 프로그래밍 언어다. 코틀린은 스크립트로 사용할 수도 있고, 객체지향 코드나 함수형 코드, 비동기 프로그램을 작성하는 것처럼 더 다양한 방법으로 사용 가능하다. 이렇게 넓은 스펙트럼의 주제들을 설명하기 위해 이 책은 여러 부분들로 나누었다.
1부는 코틀린을 사용한 스크립팅에 집중한다. 2부는 객체지향 프로그래밍에 관한 설명이다. 3부에서는 함수형 언어로서의 코틀린을 배운다. 4부는 지금까지 배운 것들을 종합하여 더 좋은 코드를 쓰도록 만든다. 그리고 내부 도메인 특정 언어(Domain-Specific Language, DSL를 만드는 방법에 대해서 배운다. 5부에서는 코루틴과 비동기 프로그래밍에 대해서 알아본다. 마지막으로 6부에서는 Java 인터롭(interop: 다른 언어로 개발된 어셈블리를 특정 환경에서 사용할 수 있게 하는 기술, 테스팅, 스프링 사용, 안드로이드 어플리케이션 개발 등 코틀린을 활용한 개발에 대해 살펴본다. 각 장에서 다루는 영역은 다음과 같다.
1장. 코틀린 시작하기
코틀린을 사용해야 할 이유를 알아보고 필수적인 툴을 다운로드 받아 코드를 작성해볼 것이다.
2장. Java의 개발자를 위한 코틀린 필수 사항
Java에서 코틀린으로 넘어온 개발자들은 코틀린과 Java의 차이점을 배우기 전까지 코틀린에서도 Java의 문법과 습관들을 그대로 사용한다. 그래서 일부 습관과 문법을 고치기 위한 필수 사항들을 알아본다.
3장. 함수를 사용하자
함수는 코틀린에서 1급 객체(first-class citizen: 다른 객체들에 일반적으로 적용 가능한 연산을 모두 지원하는 객체이다. 코틀린은 매우 많은 기능을 제공한다. 기본인자와 명시적 인자 그리고 가변인자 같은 기능들을 살펴본다.
4장. 외부 반복과 아규먼트 매칭
명령형 프로그래밍을 할 때 우리는 종종 외부 반복자를 사용한다. 코틀린의 반복자가 어떻게 반복 작업을 쉽게 만들어주고, 아규먼트 매칭 문법이 조건문에서 발생되는 많은 노이즈들을 제거해주는지