현재 Kotlin을 사용하여 안드로이드 개발을 하고 있어서, 관심이 꽤 많은 상태였는데 저자분께서 리뷰 이벤트를 진행하신다기에 바로 신청했고 대상자로 선정(?)되어 리뷰를 작성해보려 합니다. 글의 주제상 평서체를 사용할 것이니, 읽으실 때 양해 부탁드립니다.

 


 

 


 

책은 약 350페이지 가량 되는 편으로, 얇은 편에 속한다. 주로 얇은 개발서의 경우, 개념은 간단히 넘어가고 주로 예제를 통해 무엇을 전달하려는지 아니면, 어떤 것이 중요한지를 보여주는데 과연 이 책은 어떨까?

 

우선 책의 겉표지에서 안내하는 독자의 대상 실력은 초중급이다. 하지만, 전체적인 내용을 봤을 때 개인적인 의견으로는 프로그래밍을 처음 접한다면 입문서로는 좋은 선택이 아니다. 실력을 어떻게 나누는지도 사람마다 그 기준이 다르겠지만, 적어도 이 책을 수월하게 읽으려면 코틀린 이외의 프로그래밍 언어를 다룰 줄 알고 프로그래밍에서 사용되는 개념들을 어느 정도는 알고 있어야 한다.

특히 코틀린은 자바와 호환되기 때문에 코틀린 코드와 자바 코드를 비교하는 부분이 상당히 많고, 자바에서 사용됐던 개념들이 자주 나오므로 자바에서 사용하는 개념이나 패턴 등은 숙지하고 있는게 좋다.

 

이 책의 목차는 다음과 같다.

  1. 코틀린 알아보기
    1. 코틀린이란
    2. 코틀린의 주요 특징
  2. 코틀린 개발 환경 구축
    1. IntelliJ IDEA 설치
    2. Hello Kotlin 예제 실행하기
    3. 안드로이드 개발 환경 설정 및 예제
  3. 코틀린 기본 문법 살펴보기
    1. 변수
    2. 함수
    3. 클래스
    4. 흐름 제어
  4. 안드로이드 워밍업
    1. 로또 게임 앱 만들기
    2. 영어 단어 퀴즈 앱 만들기
  5. 코틀린을 활용한 사진 관리 앱 및 서버 개발
    1. 기본 개념 및 시나리오 소개
    2. 초기 화면 구현
    3. 메인 화면 구현
    4. 사진 전송
    5. 수신 중인 사진 미리보기

(각 장을 대단원으로 봤을 때, 소단원은 그 수가 너무 많아 생략하였음)

 

1장에서는 코틀린이 무엇인지와 자바와의 호환성 그리고 아주 간단한 코드를 통해 자바와 동일한 작업을 수행할 때 얼마나 코드를 짧고 간결하게 사용할 수 있는지를 보여준다.

2장에서는 코틀린 개발을 위한 환경 설정을 어떻게 하는지, 안드로이드 개발 환경을 어떻게 설정하는지를 보여준다.

1장은 읽어보면 코틀린과 자바가 어떻게 다른지, 어떻게 코틀린 코드가 자바 코드와 호환될 수 있는지 등을 알 수 있으므로 읽어보는 것을 추천한다. 2장은 설치와 개발 환경에 관련된 내용이다. 개발 환경을 어떻게 설정하는지 안다면 건너뛰어도 된다.

 

3장에서는 코틀린의 기본 문법(변수 선언이나 함수, 클래스 및 인터페이스, 조건 제어 등)을 모두 소개한다. 이 점이 장점이 될 수 있지만 반대로 단점도 된다. 앞서 입문서로 좋지 않다고 말한 이유 중 하나인데, 많은 내용을 한 장에 모두 포함하다보니 누락되거나 설명이 미흡한 부분이 발생하기 때문이다. 장점은 핵심 내용을 잘 압축했다는 것이다. 개발서적의 경우 참고용으로 훑어보는 경우가 많은데 이럴 때 진가를 발휘하게 된다. 다만 typealias 같은 키워드나, 무명 함수, (run, let, apply, also) 등에 대한 설명이 없는 점이 아쉽게 느껴졌다.

 

4장과 5장에서는 안드로이드 앱을 코틀린으로 제작하는 과정을 담았는데, 일단 코드가 차지하는 비중이 너무 크다. 저자분께서도 중복 코드에 대해 인지하고 있으며, 재쇄시에 해당 부분을 설명으로 바꾸신다고 하셨으므로 코드에 대해서는 건너뛰도록 하겠다.

4장에서는 간단하고 쉽지만, 코틀린이란 언어가 어떻게 사용되는지와 얼마나 편한지 등을 충분히 보여줄 수 있는 예제 앱이 나온다.

마지막 5장에서는 어쩌면 가장 흥미를 가질 수도 있는 PC <-> 안드로이드 기기 간 통신 앱이 예제로 나온다. 데스크탑에서 실행되어야 하는 프로그램마저 코틀린으로 작성했다. 이 부분은 정말 예상하지 못한 부분인데, 당연하게도 데스크탑 애플리케이션은 자바로 작성하고 안드로이드 애플리케이션만 코틀린으로 작성할 줄 알았지만 여기서 저자분의 세심함을 볼 수 있었다.

 

 

 

종합적으로 봤을 때, 자바를 사용하다가 코틀린으로 바꾸기 위해 넘어오시는 분들이 읽기에는 나쁘지 않은 선택이다. 중요한 것들은 대부분 설명을 하거나 예제를 통해 보여주고 있고, 소켓을 사용한 PC - 모바일 기기간 통신도 상당히 흥미를 끌어올리기에 적절한 예제라고 생각하기 때문이다. 다만, 계속 말하듯이 초급자가 코틀린을 처음 접하려고 선택하는 책으로써는 좋지 않다. 입문시에 가장 중요한 것은 기초인데 그런 부분은 자세하게 다루지 않았기 때문이다.

  1. 럽이즈2019.07.03 14:50

    안녕하세요! 코틀린으로 처음 프로그래밍 언어를 배워보려고 찾아보다가 와서 글 남깁니다! 우선 좋은 리뷰 정말 감사히 잘봤습니다. 다름이 아니라 저는 아예 입문을 코틀린으로 해볼까해서 서적을 구매하려고 계획하고 있는데요. 생초보 입문자용 도서 추천좀 해주실 수 있을까해서 문의드립니다.

+ Recent posts