이미 소장하고 있다면 판매해 보세요.
|
1장. 코틀린 시작하기
__코틀린 소개 __멋진 코틀린 예제 __코틀린 코드 다루기 ____코틀린 플레이그라운드 ____안드로이드 스튜디오 ________프로젝트를 위한 코틀린 구성 ________새로운 안드로이드 프로젝트에서 코틀린 사용 ________자바-코틀린 변환기(J2K) ________코틀린 코드를 실행하는 다른 방법 __코틀린의 내부 작동 방식 ____코틀린 표준 라이브러리 __코틀린의 장점 __요약 2장. 기본 개념 __변수 __형식 유추 __엄격한 null 안전성 ____안전 호출 ____엘비스 연산자 ____non-null 주장 ____let __null 가능성과 자바 __형변환 ____안전/불안 형변환 연산자 ____스마트 형변환 ________형식 스마트 형변환 ________null 불허 스마트 형변환 __기본형 데이터 형식 ____숫자 ____Char ____배열 ____부울 형식 __복합 데이터 형식 ____문자열 ________문자열 템플릿 ____범위 ____컬렉션 __문과 식 __제어 흐름 ____if 문 ____when 식 ____반복문 ________for ________while 반복문 ________그 밖의 반복문 ________break와 continue 문 __예외 ____try...catch 블록 __컴파일 타임 상수 __위임 __요약 3장. 함수 __기본적인 함수 선언과 사용법 ____매개변수 ____함수에서 반환 __vararg 매개변수 __단일 식 함수 __꼬리 재귀 함수 __함수를 호출하는 다른 방법 ____기본 인수 값 ____명명된 인수 구문 __최상위 함수 __최상위 함수의 내부 작동 방식 __로컬 함수 __Nothing 반환 형식 __요약 4장. 클래스와 객체 __클래스 ____클래스 선언 __속성 ____읽기 쓰기와 읽기 전용 속성 ____코틀린과 자바와 속성 접근 구문 ________증가 및 감소 연산자 ____맞춤형 게터/세터 ________게터와 속성 기본 값 ____지연 초기화되는 속성 ____속성과 애노테이션 ____인라인 속성 __생성자 ____속성과 생성자 매개변수의 비교 ____기본 인수를 갖는 생성자 ________패턴 __상속 ____JvmOverloads 애노테이션 __인터페이스 __데이터 클래스 ____equals와 hashCode 메소드 ____toString 메소드 ____copy 메소드 ____구조분해 선언 __연산자 오버로딩 __객체 선언 __객체 식 __컴패니언 객체 ____컴패니언 객체의 인스턴스 생성 __열거 클래스 __명명된 메소드에 대한 중위 호출 __가시성 한정자 ____internal 한정자와 자바 바이트코드 __봉인 클래스 __중첩 클래스 __별칭 임포트 __요약 5장. 일급 객체로서의 함수 __함수 형식 ____함수 형식의 내부 작동 방식 __익명 함수 __람다식 ____단일 매개변수의 암시적 이름 __상위 함수 ____함수를 작업으로서 제공 ____관찰자(수신기) 패턴 ____스레드 작업 후 콜백 __명명된 인수와 람다식의 조합 __마지막 람다식 인수 규칙 ____주변 코드 명명 ____LINQ 스타일로 데이터 구조 처리 __코틀린의 자바 SAM 지원 __명명된 코틀린 함수 형식 ____함수 형식의 명명된 매개변수 ____형식 별칭 __사용되지 않는 변수를 위한 밑줄 __람다식의 구조분해 __인라인 함수 ____noinline 한정자 ____논로컬 반환 ____람다식의 라벨 반환 ____crossinline 한정자 ____인라인 속성 __함수 참조 __요약 6장. 제네릭 __제네릭 ____제네릭의 필요성 ________형식 매개변수와 형식 인수 __제네릭 제약 조건 ____null 가능성 __변량 ____변량 한정자 ____사용 위치 변량과 선언 위치 변량 ____컬렉션 변량 ____변량 생산자/소비자 제한 ____고정 생성자 __형식 삭제 ____reified 형식 매개변수 ________startActivity 메소드 __별표 프로젝션 __형식 매개변수 명명 규칙 __요약 7장. 확장 함수와 속성 __확장 함수 ____확장 함수의 내부 작동 방식 ________메소드 재정의 불가 ________수신자 요소 접근 ________확장은 정적으로 확인된다 ____컴패니언 객체 확장 ____확장 함수를 이용한 연산자 오버로딩 ____최상의 확장 함수의 적절한 사용 위치 __확장 속성 ____확장 속성은 어디에 사용해야 할까? __멤버 확장 함수와 속성 ____수신자의 형식 ____멤버 확장 함수와 속성의 작동 방식 __제네릭 확장 함수 ____컬렉션 처리 ________코틀린 컬렉션 형식의 계층 ________map, filter, flatMap 함수 ________forEach와 onEach 함수 ________withIndex와 indexed 변형 ________sum, count, min, max, sorted 함수 ________그 밖의 스트림 처리 함수 ________스트림 컬렉션 처리의 예 ________시퀀스 __수신자가 있는 함수 리터럴 ____코틀린 표준 라이브러리 함수 ________let 함수 ________초기화를 위한 apply 함수 이용 ________also 함수 ________run과 with 함수 ________to 함수 ____DSL(domain-specific language) ________Anko __요약 8장. 위임 __클래스 위임 ____위임 패턴 ____데코레이터 패턴 __속성 위임 ____위임 속성이란? ____미리 정의된 대리자 ________lazy 함수 ____notNull 함수 ____observable 대리자 ________vetoable 대리자 ________Map 형식으로 속성 위임 ____맞춤형 대리자 ________뷰 바인딩 ________SharedPreferences 바인딩 ________대리자 제공 __요약 9장. 마블 갤러리 애플리케이션 만들기 __마블 갤러리 ____진행 방법 ____새로운 프로젝트 만들기 ____캐릭터 갤러리 ________뷰 구현 ________네트워크 정의 ________비즈니스 논리 구현 ________구현한 작업을 하나로 묶기 ____캐릭터 검색 ____캐릭터 프로필 표시 __요약 |
Marcin Moskala
Igor Wojda
최민석의 다른 상품
|
이 책에서 다루는 내용
· 코틀린 애플리케이션의 실행 및 안드로이드 스튜디오와 통합 · 코틀린을 신규/기존 안드로이드 자바 기반 프로젝트와 통합 · 코틀린 형식 시스템을 이용해 null 안전성과 불변성을 처리하는 방법 · 다양한 클래스의 유형과 속성 다루기 · 컬렉션 정의 및 함수형 기반 방식으로 변환 · 확장의 정의 및 대리자를 이용해 기존 라이브러리와 안드로이드 프레임워크 클래스에 새로운 동작 추가 · 제네릭 형식 가변성 한정자를 이용해 제네릭 형식 간의 하위 형식 관계 정의 · 예제 애플리케이션 작성 이 책의 대상 독자 . · 객체, 클래스, 생성자, 인터페이스, 메소드, 게터, 세터, 제네릭 형식을 비롯한 객체지향 프로그래밍의 기본 개념과 자바에 익숙해야 한다. 이러한 기본 개념에 익숙하지 않다면 이 책을 제대로 이해하기 어려울 수 있으므로, 자바 기본서를 먼저 공부하고 이 책을 읽기 바란다. · 안드로이드 플랫폼에 대한 지식이 필수는 아니지만, 이 책에 나온 예제와 코틀린으로 해결할 수 있는 문제를 제대로 이해하는 데 도움이 된다. 안드로이드 애플리케이션을 개발해본 경험이 있는 개발자라면 기본적으로 충분하다. 안드로이드 플랫폼에 대한 지식이 충분하지 않더라도 객체지향 개념에 익숙하다면 큰 문제 없이 이 책을 공부할 수 있다. 새로운 기술을 배우는 데 거부감이 없는 열린 사고를 가지고 있다면 공부하는 데 큰 도움이 된다. 이 책을 공부하는 동안 호기심을 자극하는 구상이 있다면 직접 테스트하고 확인해보기를 권한다. 이 책의 구성 1장, ‘코틀린 시작하기’에서는 독자에게 코틀린 플랫폼을 소개하고 코틀린 언어와 특징, 장점을 설명한다. 또한 코틀린을 안드로이드 개발 프로세스에 적용하는 방법을 알아본다. 2장, ‘기본 개념’에서는 코틀린의 기본 구성요소를 주로 살펴본다. 코틀린의 다양한 구문과 데이터 형식, 그리고 흥미로운 특징을 소개한다. 3장, ‘함수’에서는 함수를 정의하고 호출하는 여러 방법을 설명하며, 함수 식별자에 대해 알아보고, 함수를 정의할 수 있는 여러 위치에 대해 설명한다. 4장, ‘클래스와 객체’에서는 객체지향 프로그래밍과 관련된 코틀린의 특징에 대해 알아본다. 클래스의 다양한 형식에 대해 배우고, 가동성을 개선하기 위한 기능으로 속성 연산자 오버로딩과 중위 호출에 대해 배운다. 5장, ‘일급 객체로서의 함수’에서는 코틀린의 함수형 프로그래밍과 일급 객체로서의 함수 지원에 대해 알아본다. 또한 람다, 상위 함수, 함수 형식에 대해 배운다. 6장, ‘제네릭’에서는 제네릭 클래스, 인터페이스, 함수에 대해 알아본다. 또한 코틀린의 제네릭 형식 시스템에 대해 자세히 살펴본다. 7장, ‘확장 함수와 속성’에서는 기존 클래스에 상속을 사용하지 않고 새로운 동작을 추가하는 방법을 알아본다. 또한 컬렉션과 스트림 처리를 수행하는 더 간단한 방법도 논의한다. 8장, ‘위임’에서는 코틀린의 기본 제공 언어 기능으로 클래스 위임을 간소화하는 방법을 알아본다. 또한 기본 제공 속성 대리자를 사용하는 방법과 맞춤형 대리자를 정의하는 방법을 배운다. 9장, ‘마블 갤러리 애플리케이션 만들기’에서는 지금까지 설명한 거의 모든 기능을 사용해 코틀린으로 완전히 작동하는 안드로이드 애플리케이션을 직접 제작한다. 지은이의 말 오늘날 안드로이드 애플리케이션을 개발하기 위한 프로세스에는 아주 다양한 주제가 포함된다. 지난 몇 년간 이러한 개발 프로세스를 돕는 다양한 툴이 출시됐지만, 안드로이드 애플리케이션 개발의 핵심 요소인 자바는 거의 변하지 않았다. 안드로이드 플랫폼은 새로운 버전의 자바를 도입하고 있지만, 이를 사용하려면 새로운 안드로이드 장치가 시장에 완전히 보급될 때까지 오래 기다려야 한다. 또한 자바 자체가 이전 버전과의 호환성 때문에 해결하기 어려운 디자인 문제를 많이 내포하는 오래된 언어이므로, 자바를 이용해 애플리케이션을 개발하려면 여러 가지 부수적인 과제를 극복해야 한다. 코틀린은 자바가 해결하지 못한 여러 문제를 해결할 수 있는 새롭고 안정적인 언어며, 모든 안드로이드 장치에서 사용할 수 있다. 코틀린은 유용성이 입증된 여러 새로운 프로그래밍의 개념을 안드로이드 개발 환경에서 지원하고, 표현력이 우수하며, 더 안정적이고 간결한 코드를 작성할 수 있게 해준다. 이 책은 코틀린을 이용한 안드로이드 개발 프로세스의 속도를 높이고 개선하기 위한 따라 하기 쉽고 실행적인 안내서로서, 자바에 비해 간소하고 개선된 방법으로 일반적인 문제를 해결하는 새로운 방법을 소개한다. 이 책을 모두 공부하면 코틀린의 기능과 툴에 익숙해지고, 코틀린을 이용해 안드로이드 애플리케이션을 개발할 수 있게 된다. 옮긴이의 말 코틀린은 널리 사용되는 인텔리제이 IDEA의 개발사인 젯브레인스(JetBrains)에서 2011년에 개발해 공개한 언어다. JVM 기반의 언어이므로 자바와 완벽하게 상호운용할 수 있으며, 특정 플랫폼의 기계어로 컴파일하는 것도 가능하다. 처음부터 자바를 대체하는 것을 염두에 두고 개발됐기 때문에, 자바 언어의 여러 근본적인 문제점을 해결했으며, 최근에 각광받고 있는 최신 언어들의 장점을 모두 흡수한 차세대 언어이기도 하다. 자바 라이선스를 보유한 오라클과 구글의 불편한 관계를 고려할 때, 장기적으로 구글이 안드로이드 개발 환경을 자바에서 코틀린으로 대체할 것이라는 시각이 많았으며, 이런 예상을 현실화하듯이 2017년 5월 구글은 코틀린을 안드로이드의 공식 언어로 발표하기도 했다. 기존의 막대한 자바 코드베이스를 감안할 때, 단시간에 자바에서 코틀린으로 안드로이드 개발 환경이 전환되지는 않겠지만, 애플이 오브젝티브 C 대신 스위프트의 손을 들어줬듯이 앞으로 구글이 자바보다 코틀린에 대한 지원을 강화할 것은 분명해 보인다. 이 책이 코틀린이라는 밝은 가능성의 길로 안내하는 유용한 안내자가 되기를 바란다. |