서브메뉴
검색
본문
Powered by NAVER OpenAPI
-
코틀린 프로그래밍 (핵심만 골라 배우는,핵심을 짚어주는 설명과 이해하기 쉬운 코드로 배우는 코틀린 학습서!)
저자 : 심재철
출판사 : 제이펍
출판년 : 2018
ISBN : 9791188621194
책소개
코틀린다운 개발을 위한 문법 설명과 예제!
핵심을 짚어주는 설명과 이해하기 쉬운 코드로 배우는 코틀린 학습서!
코틀린(Kotlin)은 오픈 소스 소프트웨어로 젯브레인(JetBrains)에서 개발한 프로그래밍 언어다. 2011년부터 개발이 시작되어 2016년에 1.0 정식 버전이 발표된 후 현재도 계속 진화 중이며, 구글 I/O 2017에서 안드로이드 애플리케이션의 공식 개발 언어로 발표되었다.
코틀린으로 작성된 소스 코드는 코틀린 컴파일러에 의해 JVM에서 실행되는 바이트 코드로 생성되므로 자바와 100% 호환된다. 또한, 컴퓨터 운영체제의 JVM에서 독자적으로 실행되는 네이티브 애플리케이션, 웹브라우저에서 실행되는 자바스크립트, 서버에서 실행되는 Http 서블릿, 구글 안드로이드 애플리케이션을 코틀린으로 개발할 수 있다. 이와 더불어 코틀린은 새로운 언어답게 여러 장점을 갖고 있는데, 특히 객체지향 프로그래밍과 함수형 프로그래밍의 장점을 절묘하게 조화시켜 간결하면서도 강력한 코드를 쉽게 작성할 수 있다.
이 책은 코틀린 기본 문법에 충실한 설명과 예제로 구성되었으며, 이를 통해 코틀린 언어의 핵심을 일목요연하고 깊이 있게 파악할 수 있다. 따라서 코틀린을 제대로 배우고자 하는 사람들, 특히 자바를 비롯해 다른 프로그래밍 언어 개발 경험이 있는 사람들이 빠른 시간 내에 코틀린을 파악하는 데 큰 도움이 될 것이다.
목차
1장 코틀린 개요_1
1.1 코틀린 언어 개요 1
1.2 코틀린의 특징 2
1.3 코틀린 아키텍처 3
1.4 요약 4
2장 코틀린 개발 환경 구축하기_5
2.1 JDK 설치하기 5
2.1.1 윈도우에서 설치하기 5
2.1.2 맥 OS에서 설치하기 7
2.2 코틀린 컴파일러 설치하기 8
2.3 코틀린 애플리케이션 개발 IDE 설치하기 9
2.3.1 이클립스 설치와 구성하기 10
2.3.2 IntelliJ IDEA 설치와 구성하기 14
2.3.3 Visual Studio Code 설치와 구성하기 20
2.4 사용할 IDE 선택하기 29
2.5 요약 30
3장 “안녕하세요?” 코틀린_31
3.1 명령행에서 애플리케이션 작성과 실행하기 31
3.1.1 처음 만나는 코틀린 31
3.1.2 코틀린 애플리케이션 빌드 절차 33
3.1.3 코틀린 REPL 사용하기 34
3.2 이클립스로 애플리케이션 작성과 실행하기 35
3.3 IntelliJ IDEA로 애플리케이션 작성과 실행하기 38
3.4 Visual Studio Code로 애플리케이션 작성과 실행하기 40
3.5 코틀린 공식 사이트의 TRY ONLINE 사용하기 42
3.6 요약 43
4장 기본 구성 요소와 문법_44
4.1 코틀린 프로그램 구조 44
4.2 패키지 47
4.2.1 패키지 지정하기 47
4.2.2 다른 패키지의 코드 사용하기 48
4.2.3 import 별칭 사용하기 48
4.3 코틀린 변수 49
4.4 코틀린의 타입 50
4.4.1 기본 타입 50
4.4.2 문자열 타입 52
4.4.3 기본 타입의 리터럴 54
4.4.4 문자열 리터럴 54
4.4.5 배열 56
4.4.6 다차원 배열 59
4.4.7 타입 추론 62
4.5 연산자와 연산자 오버로딩 64
4.5.1 산술 연산자 64
4.5.2 단항 연산자 67
4.5.3 복합 대입 연산자 68
4.5.4 비트 연산자 69
4.5.5 논리 연산자 70
4.5.6 동등 비교 연산자 71
4.5.7 그 밖의 비교 연산자 72
4.5.8 in 연산자 74
4.5.9 범위 연산자 75
4.5.10 인덱스 연산자 76
4.5.11 Invoke 연산자 77
4.5.12 타입 확인 연산자: is, !is 78
4.6 코드 실행 제어 79
4.6.1 if 표현식 79
4.6.2 when 표현식 81
4.6.3 for 루프 84
4.6.4 while과 do-while 루프 86
4.6.5 break와 continue 86
4.7 요약 88
5장 Null 처리 메커니즘_90
5.1 Null 가능 타입 90
5.2 Null 처리 연산자 93
5.2.1 “ ?.” 93
5.2.2 “ ?:” 94
5.2.3 “ !!” 95
5.2.4 as, as? 96
5.3 let 함수 97
5.4 스마트 캐스트 100
5.5 플랫폼 타입 102
5.6 요약 105
6장 함수_106
6.1 함수 선언과 호출 106
6.2 가변 인자 109
6.3 최상위 수준 함수와 속성 111
6.4 멤버 함수 114
6.5 지역 함수 115
6.6 제네릭 함수 116
6.7 확장 함수 118
6.8 중위 함수 119
6.9 꼬리형 재귀 함수 121
6.10 요약 123
7장 클래스와 객체_124
7.1 클래스 선언과 생성자 124
7.1.1 기본 생성자 125
7.1.2 보조 생성자 127
7.2 속성과 게터/세터 129
7.2.1 속성과 필드의 차이점 129
7.2.2 게터와 세터 130
7.2.3 우리의 게터와 세터를 정의하고 사용하기 134
7.2.4 후원 필드 136
7.2.5 지연 초기화 속성 141
7.3 멤버 함수 142
7.4 가시성 제한자와 접근 제한자 143
7.5 클래스 상속과 멤버 오버라이딩 146
7.5.1 기본 생성자를 사용한 상속 정의 147
7.5.2 보조 생성자를 사용한 상속 정의 149
7.5.3 멤버 함수 오버라이딩 151
7.6 인터페이스 구현과 오버라이딩 153
7.7 추상 클래스와 오버라이딩 156
7.8 object 키워드 157
7.8.1 객체 선언 158
7.8.2 동반 객체 160
7.8.3 객체 표현식 162
7.9 중첩 클래스와 내부 클래스 163
7.10 데이터 클래스 165
7.11 클래스 위임 168
7.12 enum 클래스 172
7.13 sealed 클래스 175
7.14 요약 176
8장 람다식_177
8.1 람다식 코드 살펴보기 178
8.2 함수 타입 184
8.3 람다식 이해하기 188
8.3.1 람다식 형식 188
8.3.2 람다식 작성 시 유의 사항 190
8.3.3 람다식과 return 191
8.3.4 람다식에서 it 키워드 사용하기 194
8.3.5 람다식과 클로저 195
8.3.6 람다식 활용 사례 197
8.3.7 클래스 멤버와 최상위 함수 참조 199
8.4 익명 함수 202
8.5 고차 함수 203
8.6 인라인 함수 205
8.7 요약 207
9장 예외_208
9.1 예외 클래스와 생성자 209
9.2 예외 클래스의 상속 구조 209
9.3 예외 처리하기 212
9.4 try~catch와 throw는 표현식이다 215
9.5 사용자 예외를 정의하고 사용하기 216
9.6 Checked와 Unchecked 예외 221
9.7 요약 222
10장 컬렉션_223
10.1 컬렉션 개요 224
10.2 코틀린의 컬렉션 인터페이스와 클래스 224
10.3 컬렉션 생성하기 231
10.4 실제 사용되는 컬렉션 클래스 알아보기 238
10.5 읽기 전용 컬렉션 사용 시 주의사항 241
10.6 Iterable 인터페이스 244
10.7 List와 MutableList 248
10.7.1 개요 248
10.7.2 List와 MutableList 사용하기 249
10.7.3 IndexedValue 클래스 258
10.7.4 연속 범위값을 컬렉션처럼 처리하기 262
10.8 Set과 MutableSet 264
10.8.1 개요 264
10.8.2 Set과 MutableSet 사용하기 265
10.9 Map과 MutableMap 267
10.9.1 개요 267
10.9.2 Map과 MutableMap 사용하기 268
10.10 컬렉션 선택하기 273
10.11 시퀀스와 스트림 275
10.11.1 시퀀스와 스트림 개요 275
10.11.2 시퀀스/스트림과 컬렉션 276
10.11.3 시퀀스 생성하기 281
10.12 요약 283
11장 제네릭_285
11.1 객체의 타입 285
11.1.1 슈퍼 타입과 서브 타입 285
11.1.2 원시 타입과 제네릭 타입 287
11.2 타입 매개변수와 타입 인자 289
11.2.1 함수에 타입 매개변수 사용하기 289
11.2.2 클래스와 인터페이스에 타입 매개변수 사용하기 290
11.2.3 타입 매개변수의 표준 명칭 291
11.3 타입 매개변수 제한하기 292
11.4 타입 소거 294
11.5 타입 매개변수 실체화 296
11.6 제네릭 타입의 변형 297
11.6.1 개요 297
11.6.2 불변형 300
11.6.3 공변형과 반공변형 301
11.6.4 사용 지점 변형과 선언 지점 변형 303
11.6.5 스타 프로젝션 304
11.7 요약 306
찾아보기 308