작품 소개
코틀린 언어를 처음 접할 때 궁금하게 느꼈던 점을 차근차근 설명합니다. 기능을 나열식으로 설명하지 않고, 연관성있는 기능들을 한 데 모았습니다. 기본적인 내용을 이해했다면 부가적인 설명은 온라인 콘텐츠로 제공합니다. 하나를 배우더라도 정확히 이해할 수 있는 발판을 제공합니다.
소장
|
25,000스콘 |
코틀린 언어를 처음 접할 때 궁금하게 느꼈던 점을 차근차근 설명합니다. 기능을 나열식으로 설명하지 않고, 연관성있는 기능들을 한 데 모았습니다. 기본적인 내용을 이해했다면 부가적인 설명은 온라인 콘텐츠로 제공합니다. 하나를 배우더라도 정확히 이해할 수 있는 발판을 제공합니다.
머리말 2
1장 코틀린 기초 10
1.1 코틀린 설치 및 실행 12
1.1.1 새 프로젝트 만들기 13
1.1.2 IDEA 화면 구성 16
1.1.3 새 파일 만들기 16
1.1.4 실행 17
1.1.5 프로젝트 구조 18
1.2 프로그램 구조와 라이브러리 20
1.2.1 코틀린 프로그램 구조 20
1.2.2 라이브러리 24
1.3 변수 수식어: val과 var 27
1.4 데이터 타입과 추론 30
1.5 숫자 타입 32
1.6 Char – 문자 타입 36
1.7 Boolean – 불린 타입 39
1.8 응용 예제 – 암호화/복호화 40
1.9 String – 문자열 타입 47
1.9.1 스트링 풀 47
1.9.2 원소 참조 48
1.9.3 String.format() 49
1.9.4 문자열 템플릿 50
1.9.5 평범해 보이지만 절대 평범하지 않은 String 52
1.10 String과 CharSequence 55
1.11 StringBuilder와 StringBuffer 58
1.12 타입 변환 60
1.13 안전 호출 63
1.14 단정 연산자 66
1.15 변수 범위 67
1.16 프로그램 메모리 영역 70
1.17 예외 처리 72
2장 연산자와 흐름 제어 75
2.1 기본 연산자 75
2.2 연산자 오버로딩 79
2.3 조건문: if 문 86
2.4 조건문: when 문 90
2.5 반복문 100
2.6 범위 관련 연산 106
2.7 실행 순서 제어 109
3장 함수 114
3.1 함수 정의 114
3.1.1 상위 레벨 함수와 멤버 함수 115
3.1.2 형식 인자와 실 인자 116
3.1.3 단일 수식을 갖는 함수 120
3.1.4 함수 응용 120
3.2 함수형 프로그래밍 125
3.2.1 고차 함수 125
3.2.2 함수의 형식 인자로 전달할 수 있는 함수 종류 127
3.3 람다 식: 기초 133
3.3.1 마지막 형식 인자가 람다 식일 때 135
3.3.2 it: 람다 식의 형식 인자가 하나뿐일 때 136
3.3.3 람다 식의 반환 값은 마지막 문장의 실행 결과 136
3.3.4 사용하지 않은 형식 인자는 underscore(_)로 표시 137
3.4 람다 식 : 고급 138
3.5 람다 식에서 return 문 사용 144
3.6 다양한 함수들 150
3.6.1 익명 함수 150
3.6.2 확장 함수 151
3.6.3 인라인 함수 152
3.6.4 재귀함수 154
3.6.5 꼬리재귀 함수: tailrec 157
3.6.6 중위 함수 158
4장 클래스 160
4.1 클래스 선언 160
4.2 정보 은닉과 캡슐화 170
4.3 클래스 속성 176
4.3.1 사용자 정의 getter 177
4.3.2 사용자 정의 setter 178
4.4 중첩 클래스와 내부 클래스 180
4.4.1 중첩 클래스 180
4.4.2 내부 클래스 181
4.5 상속 182
4.6 다형성 194
4.7 추상 클래스와 인터페이스 198
4.7.1 추상 클래스 198
4.7.2 인터페이스 201
4.8 응용 : 탐색 알고리즘 205
4.8.1 깊이 우선 탐색 알고리즘(1) 205
4.8.2 깊이 우선 탐색 알고리즘(2) 211
4.8.3 너비 우선 탐색 알고리즘 213
4.9 속성 지연 초기화 216
4.9.1 var 변수의 지연 초기화: lateinit 216
4.9.2 val 변수의 지연 초기화 : by lazy 217
4.10 위임 속성 220
4.10.1 위임 속성 : by 위임_객체 221
4.10.2 위임자 함수 : observable()과 vetoable() 222
4.10.3 위임 클래스: by 위임_객체 223
4.10.4 인터페이스 구현 위임: by 속성 224
4.11 object 3총사: object의 3가지 사용법 227
4.11.1 object 선언: 싱글톤 227
4.11.2 동반 객체 230
4.11.3 무명 객체 234
4.12 클래스의 기본 메소드 재정의 236
4.13 data 클래스 241
4.13.1 data 클래스의 내부 메소드: toString() 241
4.13.2 data 클래스의 내부 메소드: equals() 242
4.13.3 data 클래스의 내부 메소드: hashCode() 243
4.13.4 data 클래스의 내부 메소드: copy() 245
4.13.5 data 객체의 속성 참조: componentN() 247
4.13.6 data 클래스 응용 248
4.14 enum 클래스 250
4.15 sealed 클래스 253
4.16 범위 함수 256
5장 배열과 컬렉션 261
5.1 배열 262
5.1.1 배열 생성 262
5.1.2 배열 원소 참조 및 변경 266
5.1.3 배열 객체 타입 266
5.1.4 불변 배열과 가변 배열 268
5.1.5 매열 객체 복사 268
5.1.6 배열 관련 추가 연산 269
5.1.7 2차원 배열 객체 274
5.2 제네릭 276
5.2.1 제네릭 함수 정의 276
5.2.2 제네릭 클래스 정의 및 객체 생성 278
5.2.3 제네릭 함수와 람다 식 280
5.2.4 클래스 상속 관계일 때 타입 변환 284
5.3 컬렉션 289
5.3.1 불변 인터페이스 및 불변 컬렉션 289
5.3.2 가변 인터페이스 및 가변 컬랙션 294
5.4 리스트 298
5.4.1 불변 리스트 299
5.4.2 가변 리스트 301
5.5 Set 306
5.6 Map 311
5.7 iterator와 sequence 316
5.7.1 iterator 316
5.7.2 sequence 318
5.8 변환 323
5.9 필터링 333
5.10 여러 개 원소를 가져오는 함수 338
5.11 단일 원소 획득 함수 345
5.12 정렬 350
5.13 집계 357
5.14 랜덤 수 생성 함수 367
6장 스레드와 코루틴 371
6.1 파일 읽고 쓰기 371
6.1.1 파일 읽기 372
6.1.2 파일 쓰기 375
6.2 스레드 379
6.3 코루틴 383
6.3.1 코루틴 범위 384
6.3.2 코루틴 실행: 중단 함수 388
6.3.3 코루틴 빌더 389
6.3.4 Job 객체의 join() 메소드 393
6.3.5 스레드로 구현한 예제를 코루틴으로 구현 398
찾아보기 400
저자소개(한글)
홍윤식
리뷰
상품평
아직 상품평이 없습니다.
팝업 메시지가 여기에 표시됩니다.