코루틴 공식 가이드 읽고 분석하기— Part 0

Korean [English]

요즘 안드로이드 앱 개발자들은 주개발 언어가 Java 에서 Kotlin 으로 많이 전환 되고 있다고 생각합니다. iOS 가 objective-c 에서 swift 로 전환할 때 처럼 안드로이드 SDK 공식 가이드에서도 Kotlin 과 Java 두가지 구현 예제를 보여주고 있고, 개발자의 영원한 친구 Stack overflow 에서도 Kotlin 으로 답변된 내용들도 자주 보이며 자연스럽게 받아들여 집니다.

개인적으로는 Kotlin 으로 개발해 보면서 불필요한 코드(Boilerplate)들이 최소화되고, 좀 더 안전한 방식으로 코딩할 수 있게 된 것 같습니다. Kotlin 언어를 개발한 Jetbrain 은 Kotlin 대중화에 한 발작 더 나아가기 위해(?) 많은 개발자들이 겪는 스레딩 문제를 직관적인 방식으로 해결할 수 있도록 도와주는 코루틴(Coroutine) 을 개발해 Kotlin 에 포함시켰습니다.

이 글은 코틀린 공식 가이드 문서 중 코루틴 부분을 읽고/테스트해보고/코드레벨에서 분석해보며 한층 더 깊은 이해하고자 하는데 그 목적이 있습니다.

본격적으로 들어가기 전에…
코루틴은 현재 (2019.01) 구현상으로 다음과 같은 클래스 간 관계를 갖고 있습니다.

(WTH…?) 위 다이어그램에 큰 의미를 두지 않으셔도 됩니다. 더 간략하게 나타내보고자 했으나… 실패;

지금은 그저 “제일 위에 위치한 CoroutineContext 와 CoroutineScope 가 뭔가 중추적인 역할을 하고 있구나…” 정도만 알고 넘어가도 좋을 것 같습니다.

이 글은 공식 가이드의 한국어 번역(의역)과 관련 기술에 대한 코드 레벨 분석으로 구성 될 예정이며, 지금 글은 Part-0 로써 목차의 역할을 할 것입니다. 아래 파트 타이틀 중 링크가 활성화된 부분이 진행 완료 된 부분입니다. 긴 여행이 될 것 같습니다.

Coroutine

App Developer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store