Leanpub Header

Skip to main content

Practical Kotlin Deep Dive 한국어

코틀린의 기초 원리와 언어 철학을 넘어 내부 동작까지 ‘How’와 ‘Why’를 탐구하는 기술 가이드

본 책은 단순히 “코틀린을 어떻게 사용하는가”를 넘어, “코틀린이 실제로 어떻게 동작하는가”까지 안내합니다. 내부 구현을 들여다보고, 바이트코드와 컴파일러의 동작을 명확히 탐구하며, 언어를 형성하는 핵심 내부 구조를 파헤칩니다.

기초 문법부터 코루틴, 컴파일러에 이르기까지 더 깊이 이해하고, 더 자신 있게 코틀린 코드를 작성하고 싶은 분들께는 좋은 지침서가 될 것입니다. 특히, 우리가 일상에서 친숙하게 사용하던 모든 언어적인 형태가 왜 지금과 같은 형태로 설계되었는지를 탐구하며 사고의 깊이를 더할 수 있습니다.

Hardcover | Paperback | ISBN: 979-8243872744 

[Course] Practical Kotlin Deep Dive Course

This book is a translation into Korean of Practical Kotlin Deep Dive which was originally written in English

Minimum price

$42.99

$52.99

You pay

$52.99

Author earns

$42.39
$

...Or Buy With Credits!

You can get credits with a paid monthly or annual Reader Membership, or you can buy them here.

Buying multiple copies for your team? See below for a discount!

PDF
EPUB
WEB
578
Pages
92,751Words
About

About

About the Book

Practical Kotlin Deep Dive는 코틀린의 핵심 문법과 내부 동작 원리부터 API 설계에 이르기까지, 그 이면에 있는 “어떻게(how)”와 “왜(why)”를 깊이 있게 풀어냅니다. 코틀린 기초, 표준 라이브러리, 코루틴, kotlinx 라이브러리, 컴파일러 내부 구조, 그리고 코틀린 멀티플랫폼까지 폭넓게 다룹니다.

이 책은 단순한 API 사용법을 넘어 코틀린의 내부를 직접 들여다봅니다. 실제 코틀린 함수 구현을 분석하고, 생성되는 바이트코드를 이해하기 쉽게 설명하며, 코틀린 컴파일러가 언어를 어떻게 해석하는지 구체적으로 보여줍니다. 또한 KEEP 제안서, JetBrains YouTrack 논의, 컴파일러 소스 코드를 직접 참고하여 개념이 어떤 배경과 설계 의도에서 출발했는지를 연결해 설명합니다.

단순히 API를 암기하는 것이 아니라, 코틀린을 “이해하며 사고”할 수 있는 관점을 제공하는 것이 이 책의 목표입니다. 또한, 코틀린을 효과적으로 사용하는 방법을 배우는 것을 넘어, 왜 언어가 지금과 같은 형태로 설계되었는지를 탐구할 수 있습니다. 이를 통해 코틀린의 언어적 철학에 대해 한층 더 깊이 고민해 보고, 결과적으로는 더 나은 코드를 작성할 수 있기를 희망합니다.

이 책은 독자들의 지속적인 성장을 위해 선별된 참고 자료와 추가 학습 리소스를 함께 제공합니다. 복잡하거나 생소한 용어는 이해하기 쉬운 각주로 설명하였고, 어려운 내용이나 원본에서 다소 모호하게 느껴질 수 있는 개념이나 영문 표현들을 훨씬 이해하기 쉽도록 풀어쓰었습니다. 처음 접하는 독자들도 부담 없이 따라올 수 있도록 했으며, 동시에 시니어 개발자들도 흥미롭게 읽어볼 수 있는 다양한 관점들을 제공합니다.

“Pro Tips for Mastery” 섹션에서는 코틀린 함수의 내부 구조, 알고리즘, 컴파일러 동작 방식, 그리고 실무에서 중요한 구현 세부 사항까지 깊이 다룹니다. 시니어 엔지니어에게는 전문성을 더욱 날카롭게 다듬을 수 있는 디테일을, 중급 개발자에게는 코틀린 이해도를 한 단계 끌어올릴 수 있는 전반적인 시야를 제공합니다.

성능이 중요한 코드를 최적화하든, 복잡한 코루틴 작업을 다루든, 멀티플랫폼 개발을 탐구하든, 이 책은 단순한 튜토리얼이나 API 소개 그 이상을 다룹니다. 언어적 설계나 기원을 이해하고, 내부 메커니즘을 파악하면서, 이 책을 완전히 읽은 독자들은 코틀린이라는 언어에 대해 더 나은 자신감을 갖고 단순한 개발자가 아니라 엔지니어라는 커리어 패스로 나아가는 의미있는 탐구서가 되었으면 좋겠습니다.

Practical Kotlin Deep Dive (한국어 번역판) 페이지에서 구매 전 책에 대한 자세한 설명을 읽어보실 수 있습니다.

엄재웅 (skydoves)

This book is a translation into Korean of Practical Kotlin Deep Dive which was originally written in English

Team Discounts

Team Discounts

Get a team discount on this book!

  • Up to 3 members

    Minimum price
    $107.00
    Suggested price
    $132.00
  • Up to 5 members

    Minimum price
    $171.00
    Suggested price
    $211.00
  • Up to 10 members

    Minimum price
    $300.00
    Suggested price
    $370.00
  • Up to 15 members

    Minimum price
    $429.00
    Suggested price
    $529.00
  • Up to 25 members

    Minimum price
    $644.00
    Suggested price
    $794.00

Author

About the Author

Jaewoong

이 책의 저자이자 Android, Kotlin, Firebase 분야의 Google Developer Expert (GDE)인 엄재웅 (skydoves)입니다. 책의 출판 시점인 2026년도 기준으로 100개 이상의 오픈소스 라이브러리와 프로젝트를 출시하고 운영해 왔으며, 오픈소스 라이브러리는 전 세계 개발자들에 의해 매년 총 4,000만 회 이상 다운로드되고 있습니다. Manifest Android Interview 책의 저자이기도 하며, 안드로이드, Jetpack Compose, 및 코틀린 관련 소식, 최신의 블로그 포스트 등을 공유하고, 각종 팁과 구독자끼리 의견을 나눌 수 있는 구독 기반의 데일리 뉴스레터인 Dove Letter를 운영하고 있습니다.

Translations

Translations

Testimonials

Reader Testimonials

Contents

Table of Contents

서문 (Preface)

추천사 (Testimonial)

이 책에 대하여

  1. 이 책의 대상 독자
  2. 이 책에서 다루는 내용
  3. 책 활용 방법과 면접 준비
  4. 최신 내용에 관하여
  5. 오류 제보

Sponsors

  1. CodeRabbit

Chapter 0. Kotlin Language

  1. Q) 0. Kotlin의 null 안전성에 대해 설명하세요
  2. Q) 1. Any, Unit, Nothing 타입의 주요 역할은 무엇인가요?
  3. Q) 2. data class란 무엇이며, 일반 클래스와 어떻게 다른가요?
  4. Q) 3. sealed class란 무엇이며 사용 사례를 설명하세요
  5. Q) 4. inner class란 무엇이며 nested class와의 차이점은 무엇인가요?
  6. Q) 5. enum class는 언제 사용하나요?
  7. Q) 6. value class란 무엇인가요?
  8. Q) 7. object란 무엇이며 일반 클래스와의 차이점은 무엇인가요?
  9. Q) 8. companion object란 무엇인가요?
  10. Q) 9. var와 val의 차이점은 무엇인가요?
  11. Q) 10. backing field와 backing property의 차이점은 무엇인가요?
  12. Q) 11. 위임 프로퍼티(delegated property)란 무엇인가요?
  13. Q) 12. lazy 위임과 lateinit의 차이점은 무엇인가요?
  14. Q) 13. 가시성 수정자에는 어떤 것들이 있나요?
  15. Q) 14. init 블록은 언제 호출되며, 주요 특징은 무엇인가요?
  16. Q) 15. 고차 함수란 무엇이며, 어떤 장점이 있나요?
  17. Q) 16. inline 키워드의 장점과 한계는 무엇인가요?
  18. Q) 17. reified 키워드란 무엇이며, 사용 시 이점은 무엇인가요?
  19. Q) 18. 람다 표현식은 어떻게 사용하나요?
  20. Q) 19. 함수형(SAM) 인터페이스란 무엇인가요?
  21. Q) 20. 확장(Extension)이란 무엇이며, 장단점은 무엇인가요?
  22. Q) 21. 구조적 동등성과 참조적 동등성은 무엇이며, 어떻게 다른가요?
  23. Q) 22. null + null 연산을 실행하면 어떻게 되나요?
  24. Q) 23. DSL이란 무엇이며 어떻게 활용할 수 있나요?

Chapter 1. Kotlin 표준 라이브러리

  1. Q) 24. Kotlin에는 어떤 컬렉션 타입이 있나요?
  2. Q) 25. 컬렉션에 사용할 수 있는 변환 연산자의 종류는 무엇인가요?
  3. Q) 26. Iterator의 메커니즘을 설명해 주세요
  4. Q) 27. Sequence와 그 메커니즘이란?
  5. Q) 28. 컬렉션의 일부를 검색하기 위해 어떤 유형의 확장 함수를 사용할 수 있나요?
  6. Q) 29. 컬렉션에서 객체의 순서를 어떻게 정의하나요?
  7. Q) 30. 스코프 함수란 무엇인가요?

Chapter 2. 코루틴 (Coroutines)

  1. Q) 31. 코루틴이란 무엇인가요?
  2. Q) 32. Continuation이란 무엇이며, suspend 함수와 내부적으로 어떤 관계가 있나요?
  3. Q) 33. 코루틴과 스레드의 차이점은 무엇인가요?
  4. Q) 34. 코루틴 빌더란 무엇인가요?
  5. Q) 35. 코루틴 컨텍스트란 무엇인가요?
  6. Q) 36. Job의 역할은 무엇인가요?
  7. Q) 37. 코루틴 스코프의 목적은 무엇인가요?
  8. Q) 38. 어떤 종류의 코루틴 dispatcher가 있고, 각각의 목적은 무엇인가요?
  9. Q) 39. 채널이란 무엇이고 어떻게 동작하나요?
  10. Q) 40. join()과 yield() 함수는 어떤 역할을 하나요?
  11. Q) 41. 코루틴에서 예외를 어떻게 처리하나요?
  12. Q) 42. Cold Flow와 Hot Flow의 차이점은 무엇인가요?
  13. Q) 43. StateFlow와 SharedFlow의 차이점을 설명해 주세요
  14. Q) 44. Flow.flowOn() 연산자는 어떤 역할을 하나요?
  15. Q) 45. Flow.buffer() 연산자는 어떻게 동작하나요?
  16. Q) 46. 코틀린의 내부 메커니즘은 FusibleFlow와 ChannelFlow로 Flow를 어떻게 최적화하나요?
  17. Q) 47. launchIn(scope)과 scope.launch()의 차이점은 무엇인가요?
  18. Q) 48. Flow 변환 연산자인 flatMapLatest, flatMapMerge, flatMapConcat은 무엇인가요?
  19. Q) 49. callbackFlow와 channelFlow는 무엇이며, 내부 메커니즘은 어떻게 되나요?

Chapter 3. KotlinX 라이브러리

  1. Q) 50. kotlinx-serialization이란 무엇이며 어떻게 동작하나요?
  2. Q) 51. kotlinx-datetime은 무엇이며 Java time API 대신 왜 사용하나요?
  3. Q) 52. kotlinx-collections-immutable이란 무엇이며 언제 사용해야 하나요?
  4. Q) 53. 그 밖에 주목할 만한 KotlinX 라이브러리에는 어떤 것이 있나요?

Chapter 4. 코틀린 컴파일러와 플러그인

  1. Q) 54. 어노테이션 프로세서, KAPT, KSP란 무엇인가요?
  2. Q) 55. 코틀린 컴파일러의 구조는 어떻게 되어 있나요?
  3. Q) 56. K2 컴파일러란 무엇인가요?
  4. Q) 57. FIR(Frontend Intermediate Representation)란 무엇인가요?
  5. Q) 58. IR이란 무엇이며 코틀린 백엔드는 어떻게 동작하나요?
  6. Q) 59. 코틀린 컴파일러 플러그인은 어떻게 작성하나요?
  7. Q) 60. 실제 코틀린 컴파일러 플러그인 활용 사례에는 어떤 것이 있나요?

Chapter 5: 코틀린 멀티플랫폼

  1. Q) 61. 코틀린 멀티플랫폼이란 무엇인가요?
  2. Q) 62. 코틀린 멀티플랫폼은 플랫폼별 API를 어떻게 처리하고, 공통 코드를 어떻게 공유하나요?
  3. Q) 63. 코틀린 멀티플랫폼에서 동시성 또는 비동기 프로그래밍을 위한 전략은 무엇인가요?
  4. Q) 64. 코틀린 멀티플랫폼에서 HTTP 네트워크 통신을 어떻게 처리하나요?
  5. Q) 65. Compose Multiplatform이란 무엇인가요?
  6. Q) 66. 코틀린 멀티플랫폼 프로젝트에서 소스 셋은 어떻게 구성되나요?
  7. Q) 67. Kotlin/Native는 메모리 관리와 플랫폼 상호 운용을 어떻게 처리하나요?
  8. Q) 68. 코틀린 멀티플랫폼에서 어떤 테스트 전략을 사용하시나요?
  9. Q) 69. 코틀린 멀티플랫폼에서 의존성 주입을 위해 어떤 전략을 사용하나요?

마치며

The Leanpub 60 Day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.

You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!

So, there's no reason not to click the Add to Cart button, is there?

See full terms...

Earn $8 on a $10 Purchase, and $16 on a $20 Purchase

We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earned over $14 million writing, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub