코틀린을 이용한 안드로이드 개발
도서명:코틀린을 이용한 안드로이드 개발
저자/출판사:마르친,모스칼라,이고르,워다/에이콘출판
쪽수:532쪽
출판일:2018-05-31
ISBN:9791161751627
목차
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장. 마블 갤러리 애플리케이션 만들기
__마블 갤러리
____진행 방법
____새로운 프로젝트 만들기
____캐릭터 갤러리
________뷰 구현
________네트워크 정의
________비즈니스 논리 구현
________구현한 작업을 하나로 묶기
____캐릭터 검색
____캐릭터 프로필 표시
__요약