『이펙티브 코틀린』, 『코틀린 코루틴』의 저자 마르친 모스카와의 새로운 코틀린 안내서!
코틀린의 핵심 기능을 모두 다루고 있어 코틀린을 체계적으로 정리해 볼 수 있다!
코틀린을 제대로 배우기 위한 완벽한 첫걸음!
코틀린은 지금 이 순간 가장 주목받고 있는 프로그래밍 언어 중 하나이다. 이해하기 쉬운 문법, 직관적인 코드, 널(null) 안전성을 보장하는 타입 시스템, 그리고 다양한 지원 도구로 무장한 코틀린은 개발자들에게 강력한 힘을 선사한다. 안드로이드 개발의 대표 언어로 자리 잡았고, 이제 백엔드에서도 자바를 대체하며 인기를 얻고 있다. 그뿐만 아니라 데이터 과학, 멀티플랫폼, iOS, 데스크톱 및 웹 애플리케이션 개발에 이르기까지 활용 범위는 나날이 확대되고 있다. 코틀린을 통해 펼칠 수 있는 가능성은 무궁무진하며, 매년 더 많은 기회가 열리고 있다.
『코틀린 아카데미 : 핵심편』은 이러한 코틀린의 세계로 들어가는 첫 관문이다. 이 책은 코틀린의 핵심 기능들을 체계적으로 다루며, 명확하고 실행 가능한 코드 예제를 통해 쉽게 설명한다. 자바, 자바스크립트, 파이썬, C++와 같은 객체 지향 언어를 경험해 본 개발자라면 쉽게 이해할 수 있을 것이다. 지금 이 책을 통해 코틀린 세계로의 여정을 시작해 보자. 이 책과 함께라면, 여러분도 코틀린을 이용하여 혁신적이고 강력한 애플리케이션을 개발할 수 있을 것이다.
Contents
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장 제네릭
제네릭 함수
제네릭 클래스
제네릭 클래스와 널 가능성
제네릭 인터페이스
타입 매개변수와 상속
타입 소거
제네릭 제약 조건
스타 프로젝션
타입 인수에서 사용하는 언더스코어 연산자
요약
연습문제: 스택
마치며
연습문제 해답
찾아보기
Author
마르친 모스카와,신성열
경험 많은 개발자이자 코틀린 강사이다. 2015년부터 코틀린을 전문적으로 사용하였고, 2016년부터 코틀린에 관한 글을 썼으며, 2018년부터 코틀린을 가르치고 있다. 코틀린 분야의 GDE(Google Developer Expert)이며, 젯브레인(JetBrains)과 코틀린 교육에 대한 공식적인 파트너십을 체결하고 있는 코틀린 아카데미(Kt. Academy)의 창립자이다. 저술한 책으로는 『코틀린을 이용한 안드로이드 개발』, 『이펙티브 코틀린』, 『코틀린 코루틴』, 『코틀린 아카데미: 함수형 프로그래밍』 등이 있다.
경험 많은 개발자이자 코틀린 강사이다. 2015년부터 코틀린을 전문적으로 사용하였고, 2016년부터 코틀린에 관한 글을 썼으며, 2018년부터 코틀린을 가르치고 있다. 코틀린 분야의 GDE(Google Developer Expert)이며, 젯브레인(JetBrains)과 코틀린 교육에 대한 공식적인 파트너십을 체결하고 있는 코틀린 아카데미(Kt. Academy)의 창립자이다. 저술한 책으로는 『코틀린을 이용한 안드로이드 개발』, 『이펙티브 코틀린』, 『코틀린 코루틴』, 『코틀린 아카데미: 함수형 프로그래밍』 등이 있다.