이미 소장하고 있다면 판매해 보세요.
|
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 |
심재철의 다른 상품
|
안녕하세요 이 책의 저자입니다.
2018-02-21
코틀린이 구글이라는 거인의 어깨 위에 올라가면서 이제는 모든 개발자의 관심사로 떠 오르게 되었습니다. 코틀린은 개발자의 편의성, 간결하고 효율적인 코드 작성, 객체지향 프로그래밍과 함수형 프로그래밍의 장점을 절묘하게 조화시킨 새로운 프로그래밍 언어입니다.
그러나 코틀린에 관한 자료나 정보는 여기저기 많은데 핵심을 알기 쉽고 빠르게 파악하기는 어렵더군요. 따라서 ‘코틀린부터 제대로 배우자!’는 취지로 이 책을 집필하게 되었습니다. 처음에는 《안드로이드 스튜디오 3 & 프로그래밍》(제이펍) 책의 부록으로 PDF 파일을 공개하여 코틀린을 배우고자 하는 분들과 공유하였습니다. 그러나 부족한 부분이 많은 것 같아 이후에 더 좋은 내용으로 지금의 책을 저술하게 된 것입니다. 이 책에서는 코틀린이 전체적으로 어떻게 생겼는지, 그리고 구성 요소와 기능들은 무엇이 있으며 어떻게 상호 연관되는지 등을 체계적으로 알기 쉽게 설명해줍니다. 또한, 그런 모든 것을 각 상황에 맞는 예제 코드로 구현하여 실감나게 이해할 수 있도록 하였습니다. 그리고 제 나름대로 많은 노력과 시간을 들여 파악한 심층적인 내용도 같이 알려드립니다. 이 책을 읽으면서 예제 코드를 직접 작성해보면 자신도 모르게 코틀린에 익숙해지는 것을 느끼게 될 것입니다. 독자 여러분의 건투를 기원합니다! |
|
이번 장에서는 코틀린 언어의 개요와 특징 및 아키텍처를 알아보았다. 코틀린의 새로운 언어 구성 요소와 문법이 다양하다는 것을 알 수 있는데, 앞으로 이 책을 계속 읽으면서 직접 코드를 작성해 보면 차차 알게 될 것이다. 다음 장에서는 코틀린으로 네이티브 애플리케이션을 개발하는 데 필요한 코틀린 컴파일러와 IDE를 설치하고 구성하는 방법을 살펴본다.
--- p.4 왼쪽 패널에는 코틀린의 명령어와 기능들이 요약되어 있으며, 각 항목 왼쪽의 작은 삼각형을 클릭하면 상세 항목을 확장하거나 축소하여 볼 수 있다. 그리고 그중 하나를 클릭하면 샘플 소스 코드를 오른쪽의 편집기 패널에 보여준다. 여기에 나타난 코드는 우리가 원하는 대로 수정하고 실행할 수 있다. 또한, 오른쪽 위의 Run 버튼을 클릭하면 곧바로 현재 코드가 컴파일되어 실행되며, 출력된 결과는 아래쪽 패널에 나타난다. 그리고 위쪽에 사각형으로 표시된 필드에는 main( ) 함수가 실행될 때 인자로 받을 수 있는 값을 입력할 수 있으며, 각 패널의 경계선을 마우스로 끌면 패널 크기를 조정할 수 있다. --- p.43 엘비스 연산자의 오른쪽 피연산자는 왼쪽 피연산자와 마찬가지로 변수, 표현식, 함수 호출 모두 가능하며, 예외를 발생시키는 throw 문이 될 수도 있다. 그리고 엘비스 연산자가 함수 내부에서 사용될 때는 오른쪽 피연산자에 return 문을 사용할 수 있으며, 이때는 해당 값을 반환하면서 함수 실행이 종료된다. 함수 실행을 시작하면서 사전에 만족해야 하는 조건을 확인할 때 사용하면 유용하다. --- p.95 객체 선언에서는 클래스로부터 상속받거나 인터페이스도 구현할 수 있다. 따라서 기존 클래스의 싱글톤 객체를 생성하여 사용하거나, 또는 시스템 프레임워크의 인터페이스를 구현해야 할 필요가 있을 때 유용하다. 이때는 다음과 같이 콜론(:) 다음에 슈퍼 타입(클래스나 인터페이스)을 지정하고 슈퍼 타입의 함수를 오버라이딩하면 된다. 인터페이스를 구현하는 예는 다음과 같다. --- p.159 코틀린은 함수형 프로그래밍 언어의 기능을 제공하지만, 근본적으로는 객체지향 프로그래밍 언어다. 프로그램의 모든 데이터는 객체의 형태로 생성되고 저장되어 사용된다. 따라서 프로그램이 실행되는 동안 객체를 저장할 수 있는 방법이 있어야 한다. 이런 방법을 제공하는 것을 컬렉션(collection)이라고 한다. 넓은 의미로는 배열(array)도 컬렉션이라고 할 수 있으며, 가장 기본적인 객체 저장 방법을 제공한다. --- p.223 |