『 코틀린 을 이용 한 안드로이드 개발 : 안드로이드 앱 을 개발 하 며 배우 는 코틀린 』, 마르친 모스칼 라 , 이고르 워 다 , 에이콘 - 강 컴 닷컴 
 『 코틀린 을 이용 한 안드로이드 개발 : 안드로이드 앱 을 개발 하 며 배우 는 코틀린 』 
 지은 이 마르친 모스칼 라 , 이고르 워 다 | 출판사 에이콘 | 발행일 2018 년 05 월 31 일 
 발행일 2018 - 05 - 31 
 ISBN 1161751629 | 9791161751627 
 기타 정보 번 역서 | 532 쪽 
 오늘날 개선 된 애플리케이션 개발 이 라는 말 은 단순히 속도 가 빠른 애플리케이션 개발 을 의미 하 는 것 은 아니 며 , 개선 된 방법 으로 코드 를 작성 하 는 것 도 중요 해졌 다 . 코틀린 은 다양 한 플랫폼 에서 안드로이드 애플리케이션 을 쉽 고 효과 적 으로 작성 할 수 있 게 도와 주 는 언어 다 . 이 책 에서 는 안드로이드 개발 에 사용 되 는 코틀린 의 장점 , 개선 점 , 그리고 새로운 가능 성 에 대해 알아본다 . 
 ■ 코틀린 애플리케이션 의 실행 및 안드로이드 스튜디오 와 통합 
 ■ 코틀린 을 신규 / 기존 안드로이드 자바 기반 프로젝트 와 통합 
 ■ 코틀린 형식 시스템 을 이용 해 null 안전 성 과 불변성 을 처리 하 는 방법 
 ■ 다양 한 클래스 의 유형 과 속성 다루 기 
 ■ 컬렉션 정의 및 함수 형 기반 방식 으로 변환 
 ■ 확장 의 정의 및 대리자 를 이용 해 기존 라이브러리 와 안드로이드 프레임워크 클래스 에 새로운 동작 추가 
 ■ 제네릭 형식 가변성 한 정자 를 이용 해 제네릭 형식 간 의 하위 형식 관계 정의 
 ■ 예 제 애플리케이션 작성 
 ■ 객체 , 클래스 , 생성자 , 인터페이스 , 메소드 , 게터 , 세터 , 제네릭 형식 을 비롯 한 객체 지향 프로그래밍 의 기본 개념 과 자바 에 익숙 해야 한다 . 이러 한 기본 개념 에 익숙 하 지 않 다면 이 책 을 제대로 이해 하 기 어려울 수 있 으므로 , 자바 기본 서 를 먼저 공부 하 고 이 책 을 읽 기 바란다 . 
 ■ 안드로이드 플랫폼 에 대한 지식 이 필수 는 아니 지만 , 이 책 에 나온 예제 와 코틀린 으로 해결 할 수 있 는 문제 를 제대로 이해 하 는 데 도움 이 된다 . 안드로이드 애플리케이션 을 개발 해 본 경험 이 있 는 개발자 라면 기본 적 으로 충분 하 다 . 안드로이드 플랫폼 에 대한 지식 이 충분 하 지 않 더라도 객체 지향 개념 에 익숙 하 다면 큰 문제 없이 이 책 을 공부 할 수 있 다 . 
 새로운 기술 을 배우 는 데 거부 감 이 없 는 열린 사고 를 가지 고 있 다면 공부 하 는 데 큰 도움 이 된다 . 이 책 을 공부 하 는 동안 호기심 을 자극 하 는 구상 이 있 다면 직접 테스트 하 고 확인 해 보 기 를 권한다 . 
 1 장 , ‘ 코틀린 시작 하 기 ’ 에서 는 독자 에게 코틀린 플랫 폼 을 소개 하 고 코틀린 언어 와 특징 , 장점 을 설명 한다 . 또한 코틀린 을 안드로이드 개발 프로세스 에 적용 하 는 방법 을 알아본다 . 
 2 장 , ‘ 기본 개념 ’ 에서 는 코틀린 의 기본 구성 요소 를 주로 살펴본다 . 코틀린 의 다양 한 구문 과 데이터 형식 , 그리고 흥미 로운 특징 을 소개 한다 . 
 3 장 , ‘ 함수 ’ 에서 는 함수 를 정의 하 고 호출 하 는 여러 방법 을 설명 하 며 , 함수 식별자 에 대해 알아보 고 , 함수 를 정의 할 수 있 는 여러 위치 에 대해 설명 한다 . 
 4 장 , ‘ 클래스 와 객체 ’ 에서 는 객체 지향 프로그래밍 과 관련 된 코틀린 의 특징 에 대해 알아본다 . 클래스 의 다양 한 형식 에 대해 배우 고 , 가동 성 을 개선 하 기 위한 기능 으로 속성 연산자 오버로딩 과 중위 호출 에 대해 배운다 . 
 5 장 , ‘ 일급 객체 로서 의 함수 ’ 에서 는 코틀린 의 함수 형 프로그래밍 과 일급 객체 로서 의 함수 지원 에 대해 알아본다 . 또한 람다 , 상위 함수 , 함수 형식 에 대해 배운다 . 
 6 장 , ‘ 제네릭 ’ 에서 는 제네릭 클래스 , 인터페이스 , 함수 에 대해 알아본다 . 또한 코틀린 의 제네릭 형식 시스템 에 대해 자세히 살펴본다 . 
 7 장 , ‘ 확장 함수 와 속성 ’ 에서 는 기존 클래스 에 상속 을 사용 하 지 않 고 새로운 동작 을 추가 하 는 방법 을 알아본다 . 또한 컬렉션 과 스트림 처리 를 수행 하 는 더 간단 한 방법 도 논의 한다 . 
 8 장 , ‘ 위임 ’ 에서 는 코틀린 의 기본 제공 언어 기능 으로 클래스 위임 을 간소 화 하 는 방법 을 알아본다 . 또한 기본 제공 속성 대리자 를 사용 하 는 방법 과 맞춤 형 대리자 를 정의 하 는 방법 을 배운다 . 
 9 장 , ‘ 마블 갤러리 애플리케이션 만들 기 ’ 에서 는 지금 까지 설명 한 거의 모든 기능 을 사용 해 코틀린 으로 완전히 작동 하 는 안드로이드 애플리케이션 을 직접 제작 한다 . 
 오늘날 안드로이드 애플리케이션 을 개발 하 기 위한 프로세스 에 는 아주 다양 한 주제 가 포함 된다 . 지난 몇 년 간 이러 한 개발 프로세스 를 돕 는 다양 한 툴 이 출시 됐 지만 , 안드로이드 애플리케이션 개발 의 핵심 요소 인 자바 는 거의 변하 지 않 았 다 . 안드로이드 플랫 폼 은 새로운 버전 의 자바 를 도입 하 고 있 지만 , 이 를 사용 하 려면 새로운 안드로이드 장치 가 시장 에 완전히 보급 될 때 까지 오래 기다려야 한다 . 또한 자바 자체 가 이전 버전 과 의 호환 성 때문 에 해결 하 기 어려운 디자인 문제 를 많이 내포 하 는 오래 된 언어 이 므로 , 자바 를 이용 해 애플리케이션 을 개발 하 려면 여러 가지 부수 적 인 과제 를 극복 해야 한다 . 
 코틀린 은 자바 가 해결 하 지 못한 여러 문제 를 해결 할 수 있 는 새롭 고 안정 적 인 언어 며 , 모든 안드로이드 장치 에서 사용 할 수 있 다 . 코틀린 은 유용 성 이 입증 된 여러 새로운 프로그래밍 의 개념 을 안드로이드 개발 환경 에서 지원 하 고 , 표현 력 이 우수 하 며 , 더 안정 적 이 고 간결 한 코드 를 작성 할 수 있 게 해준다 . 
 이 책 은 코틀린 을 이용 한 안드로이드 개발 프로세스 의 속도 를 높이 고 개선 하 기 위한 따라 하 기 쉽 고 실행 적 인 안내서 로서 , 자바 에 비해 간소 하 고 개선 된 방법 으로 일반 적 인 문제 를 해결 하 는 새로운 방법 을 소개 한다 . 이 책 을 모두 공부 하 면 코틀린 의 기능 과 툴 에 익숙 해 지 고 , 코틀린 을 이용 해 안드로이드 애플리케이션 을 개발 할 수 있 게 된다 . 
 1 장 . 코틀린 시작 하 기 
 __ 코틀린 소개 
 __ 멋진 코틀린 예제 
 __ 코틀린 코드 다루 기 
 ____ 코틀린 플레이 그라운드 
 ____ 안드로이드 스튜디오 
 ________ 프로젝트 를 위한 코틀린 구성 
 ________ 새로운 안드로이드 프로젝트 에서 코틀린 사용 
 ________ 자바 - 코틀린 변환기 ( J 2 K ) 
 ________ 코틀린 코드 를 실행 하 는 다른 방법 
 __ 코틀린 의 내부 작동 방식 
 ____ 코틀린 표준 라이브러리 
 __ 코틀린 의 장점 
 __ 형식 유추 
 __ 엄격 한 null 안전성 
 ____ 안전 호출 
 ____ 엘비스 연산자 
 ____ non - null 주장 
 ____ let 
 __ null 가능 성 과 자바 
 __ 형 변환 
 ____ 안전 / 불안 형 변환 연산자 
 ____ 스마트 형 변환 
 ________ 형식 스마트 형 변환 
 ________ null 불허 스마트 형 변환 
 __ 기본 형 데이터 형식 
 ____ 숫자 
 ____ Char 
 ____ 부 울 형식 
 __ 복합 데이터 형식 
 ________ 문자열 템플 릿 
 ____ 범위 
 __ 문 과 식 
 __ 제어 흐름 
 ____ if 문 
 ____ when 식 
 ________ for 
 ________ while 반 복문 
 ________ 그 밖 의 반 복문 
 ________ break 와 continue 문 
 __ 예외 
 ____ try . .. catch 블록 
 __ 컴파일 타임 상수 
 __ 위임 
 __ 기본 적 인 함수 선언 과 사용법 
 ____ 함수 에서 반환 
 __ 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 ) 
 전문 안드로이드 개발자 로 초기 베타 시절 부터 적극 적 으로 코틀린 개발자 커뮤니티 에 관여 하 고 있 으며 , 코틀린 과 관련 된 업계 매체 에 기사 를 쓰 고 프로그래밍 컨퍼런스 에서 강연 하 고 있 다 . 또한 프로그래밍 과 오픈 소스 커뮤니티 에서 활발히 활동 중 이 며 , 인지 과학 과 데이터 과학 에 도 관심 이 많 다 . 
 웹 사이트 ( marcinmoskala . com ) 나 깃 허브 ( MarcinMoskala ) 에서 그 와 만나 거나 트위터 ( @ marcinmoskala ) 에서 팔로우 할 수 있 다 . 
 이 고르 워다 ( Igor Wojda ) 
 11 년 간 소프트웨어 개발 분야 에서 일 한 전문 소프트웨어 엔지니어 며 , 안드로이드 와 인연 을 맺 은 후 에 는 보건 업계 에서 선임 안드로이드 개발자 로 일 하 고 있 다 . 코틀린 1 . 0 버전 이 정식 출시 되 기 이전 부터 코틀린 에 관심 을 가지 고 코틀린 커뮤니티 에서 활발 하 게 활동 했 다 . 코딩 에 대한 열정 을 동료 개발자 와 공유 하 는 것 을 좋아한다 . 
 미디엄 ( @ igorwojda ) 에서 그 와 만나 거나 트위터 ( @ igorwojda ) 에서 팔로우 할 수 있 다 . 
 코틀린 은 널리 사용 되 는 인텔 리제이 IDEA 의 개발 사인 젯 브레인스 ( JetBrains ) 에서 2011 년 에 개발 해 공개 한 언어 다 . JVM 기반 의 언어 이 므로 자바 와 완벽 하 게 상호 운용 할 수 있 으며 , 특정 플랫 폼 의 기계어 로 컴파일 하 는 것 도 가능 하 다 . 
 처음 부터 자바 를 대체 하 는 것 을 염두 에 두 고 개발 됐 기 때문 에 , 자바 언어 의 여러 근본 적 인 문제점 을 해결 했으며 , 최근 에 각광 받 고 있 는 최신 언어 들 의 장점 을 모두 흡수 한 차세대 언어 이 기 도 하 다 . 
 자바 라이선스 를 보유 한 오라클 과 구글 의 불편 한 관계 를 고려 할 때 , 장기 적 으로 구글 이 안드로이드 개발 환경 을 자바 에서 코틀린 으로 대체 할 것 이 라는 시각 이 많 았 으며 , 이런 예상 을 현실 화 하 듯이 2017 년 5 월 구글 은 코틀린 을 안드로이드 의 공식 언어 로 발표 하 기 도 했 다 . 
 기존 의 막대 한 자바 코드 베이스 를 감안 할 때 , 단시간 에 자바 에서 코틀린 으로 안드로이드 개발 환경 이 전환 되 지 는 않 겠 지만 , 애플 이 오브젝티브 C 대신 스위프트 의 손 을 들 어 줬 듯이 앞 으로 구글 이 자바 보다 코틀린 에 대한 지원 을 강화 할 것 은 분명 해 보인다 . 
 이 책 이 코틀린 이 라는 밝 은 가능 성 의 길 로 안내 하 는 유용 한 안내자 가 되 기 를 바란다 . 
 2005 년 부터 번역 회사 에서 언어 전문가 로 일 하 다 독립 한 후 현재 는 IT 전문 번역가 로 일 하 고 있 다 . 10 여 년 동안 수백 건 의 소프트웨어 현지 화 와 개발자 웹 사이트 한글 화 프로젝트 를 진행 했으며 , 지금 은 IT 전문 서적 을 번역 하 는 일 에 집중 하 고 있 다 . 번역 한 책 으로 는 『 리 액트 디자인 패턴 과 모범 사례 』( 에이콘 , 2016 ) , 『 Unity 5 . x By Example 』( 에이콘 , 2016 ) , 『 유니티 5 메카 님 캐릭터 애니메이션 』( 에이콘 , 2016 ) , 『 네티 인 액션 』( 위키 북스 , 2016 ) , 『 유니티 와 C # 으로 배우 는 게임 개발 교과서 』( 위키 북스 , 2015 ) 등 이 있 다 . 
 Objective - C 개발자 를 위한 Swift . .. 
 메이커 를 위한 라즈베리 파이 . ..