Practical Kotlin Deep Dive: 질문으로 학습하는 심화 코틀린 책

skydoves·2026년 3월 31일
post-thumbnail

Practical Kotlin Deep Dive는 총 578p로 이루어져 있으며 단순히 "코틀린을 어떻게 사용하는가"를 넘어, "코틀린이 실제로 어떻게 동작하는가"까지 안내합니다. 내부 구현을 들여다보고, 바이트코드와 컴파일러의 동작을 명확히 탐구하며, 언어를 형성하는 핵심 내부 구조를 파헤칩니다.

코틀린을 사용하는 개발자가 반드시 알아야할 기초 문법부터 코루틴, 컴파일러에 이르기까지 더 깊이 이해하고, 더 자신 있게 코틀린 코드를 작성하고 싶은 분들께는 좋은 지침서가 되고자 하는 것이 이 책의 목표입니다. 특히, 우리가 일상에서 친숙하게 사용하던 모든 언어적인 형태가 왜 지금과 같은 형태로 설계되었는지를 탐구하며 사고의 깊이를 더할 수 있습니다. 코틀린을 주 언어로 사용하는 안드로이드 개발자, 백엔드 개발자를 포함하여, 단순히 코틀린의 언어적 학습을 희망하시는 개발자들에게도 도움이 될 것입니다.

Manifest Android Interview 책에 이어 두 번째 기술서적이며, 이번에도 영문 책이 먼저 출판되고 뒤이어 한국어 판을 처음부터 완전히 새롭게 번역하였습니다. 영어를 본업에서 사용해 온지 오랜 시간이 지났음에도 당연히 모국어인 한국어가 저에게는 편하고, 한국어로 번역하는 과정에서 영문 버전에는 없는 내용까지 더 자세히 추가하다보니 492페이지짜리 영문책이 한국어판에서는 578페이지에 이르게 되었습니다.

영문 버전의 경우 아마존에 하드커버 및 페이퍼백 형태로 출판되었으며, 감사하게도 출시하고 며칠만에 New Release 1위를 달성하였습니다.

어떤 내용을 다루는가?

Practical Kotlin Deep Dive 책은 단순히 코틀린에서 제공하는 기능들의 표면적인 부분만 살펴보는 것이 아니라, Kotlin의 내부적인 설계와 왜 이렇게 발전했는지, 설계와 동작이 어떻게 구현되었는지부터 언어의 철학적인 측면까지 탐구합니다. 특히 코틀린 API의 대부분의 결정과 방향에 대해 논의하는 KEEP 제안서, JetBrains YouTrack 토론, 컴파일러 소스 코드 등 자료의 원천을 살펴보고 코틀린이라는 언어의 철학적 배경과 지금의 설계가 결정된 과정을 이해할 수 있습니다.

책의 전반적인 구성은 질문 형태로 시작하여 상세한 내용과 답변을 이어서 다루기 때문에 기술 면접을 앞두고 계시거나, 스스로의 지식에 대해 다시 한번 점검이 필요하시거나, 깊은 학습을 원하시는 모든 개발자분들께서 여러 방면으로 활용하실 수 있도록 집필되었습니다.

책의 중간중간 제공되는 약 50개 가량의 'Pro Tips for Mastery' 섹션은 다양한 주제를 더 심도 있게 다루며, 우리가 일상에서 크게 궁금증을 느끼지 않았던 부분에 대해 깊게 파고들며 설명합니다. 아울러, Kotlin의 언어적인 설계부터 바이트코드 및 컴파일러의 동작 형태 등에 대해 고찰하며, 사고의 깊이를 더합니다.

책의 구성은 Kotlin에 대한 전반적인 내용을 다루는 6개의 챕터로 구성되어 있습니다.

  • Kotlin Language: null 안전성부터 타입 시스템 설계, sealed class, inline 함수, 위임 패턴까지 Kotlin의 기초 구성 요소를 다룹니다.
  • Kotlin 표준 라이브러리: Kotlin 표준 라이브러리의 핵심 기능인 컬렉션, 변환 연산자, 시퀀스, 이터레이터, 스코프 함수 등을 탐구하며, 내장 유틸리티를 효과적으로 활용하는 방법을 다룹니다.
  • 코루틴 (Coroutines): Kotlin이 언어 차원에서 제공하는 코루틴의 기초 개념부터 내부 메커니즘까지 폭넓게 살펴봅니다. suspend 함수, 코루틴 빌더, 컨텍스트, 스코프, Flow, 채널, 예외 처리 등 비동기 프로그래밍의 핵심을 다룹니다.
  • KotlinX 라이브러리: JetBrains가 개발하고 유지 관리하는 공식 Kotlin 확장 라이브러리를 다룹니다. 직렬화, 날짜/시간 처리, 불변 컬렉션 등 다양한 개발 영역의 요구 사항을 해결하는 멀티플랫폼 솔루션을 탐구합니다.
  • 코틀린 컴파일러와 플러그인: 코틀린 컴파일러의 전반적인 구조와 K2 컴파일러의 FIR 및 IR 아키텍처를 깊이 있게 살펴보고, KAPT와 KSP의 동작 원리부터 직접 컴파일러 플러그인을 구현하는 방법까지 다룹니다.
  • 코틀린 멀티플랫폼: 하나의 코틀린 코드베이스로 여러 플랫폼에 걸쳐 비즈니스 로직을 공유하는 KMP의 기본 구조를 다룹니다. 소스 셋 계층 구조, expect/actual, Compose Multiplatform, Kotlin/Native 등을 탐구합니다.

각 챕터마다 어떠한 내용을 다루는지는 70개 심화 주제 섹션에서 확인하실 수 있습니다.

책 집필부터 출간 여정

Manifest Android Interview 한국어판을 출시한 이후로 안드로이드 책 집필 때와 마찬가지로 약 7개월이라는 시간 동안 단 하루도 쉬지 않고 해외 출장 등 겹치는 바쁜 날에도 최소 1시간, 혹은 이동시간에는 단 10분이라도 책을 써내려 갔으며, 세계적으로 뛰어난 빅테크 출신의 글로벌 엔지니어들로부터 피드백을 받고, 총 2회의 퇴고 작업을 마친 끝에 Practical Kotlin Deep Dive 영문판이 세상 밖으로 나오게 되었습니다.

안드로이드 책 출판 이후 사실 별다른 휴식기 없이 바로 다음 날부터 코틀린 책을 쓰기 시작했기 때문에 단연 쉬운 여정은 아니었습니다. 안드로이드 책 집필 초판에 함께 포함되었던 코틀린에 대한 학습 내용을 최대한 안드로이드라는 플렛폼으로부터 분리시키는 작업을 진행하면서 생각보다 책의 구조적인 변경이 상당했기 때문에 사실상 책을 처음부터 다시 집필한다라는 마음으로 첫 글을 써 내려갔습니다.

감사하게도 영문 책이 출간 된 이후로 전세계의 개발자 커뮤니티로부터 많은 반응을 얻었고 영문판 출시 이후 약 2개월이 넘는 시간에 걸쳐 완성되었습니다. 현재는 한국어 번역본 뿐만 아니라 세계의 다양한 기술 번역가들과 협업하여 다른 나라의 언어로 번역이 진행되고 있습니다.

맺으며

어느덧 두 번째 책을 성공적으로 잘 출판하였고 바로 다음 책을 집필하고 있습니다. 언제나 그렇듯 책을 쓰는 과정은 빠른 피드백 루프가 진행되는 개발과는 다르게 집필-퇴고-피드백/리뷰-n차퇴고-디자인-출판이라는 긴 여정을 거쳐 단 하나의 결과물이 나옵니다. 그 오랜 기다림과 꾸준함의 연속이 가장 어려운 부분인 것 같습니다. 안드로이드 책에 이어 이번 코틀린 책은 안드로이드 개발자뿐만 아니라 코틀린이라는 언어를 좋아하고, 단순히 좋아함을 넘어 언어가 발전해온 철학과 그 원천에 대해 탐구하고자 하는 모든 개발자들에게 여러모로 귀감이 되기를 희망합니다. 또한, 책을 가장 효율적인 형태로 활용하셔서 기본기를 다지고 본업에 최대한 유용하게 활용하며, 나아가 커리어를 한 단계 올리는데 활용되기를 바랍니다.

현재 집필 중인 다음 책은 Jetpack Compose가 내부적으로 어떻게 동작하는지 그 원리와 동작을 가장 '실용적인 관점'에서 이해하고 탐구할 수 있는 책입니다. 이미 Jetpack Compose Internals라는 책이 존재하지만 사실상 책이 출판된지 오래되어 Compose API에 다양한 변화가 생긴 현시점에 맞지 않는 내용이 꽤나 있고, 특히나 해당 내용을 현업에서 실용적으로 활용하기는 쉽지 않다는 피드백을 다수 받았습니다. 다음 책의 정확한 출판 시점은 모르겠으나 현재 챕터 1을 마무리 짓는 상황이기에 추후 소식을 공유드리도록 하겠습니다.

엄재웅 (skydoves)

profile
http://github.com/skydoves

0개의 댓글