코틀린 코루틴 가이드 스터디

김종식
3 min readFeb 6, 2021

--

Photo by Marc Reichelt on Unsplash

2019년 Kotlin/Everywhere Seoul 행사에서 kotlin의 새로운 기능 소개 중 코틀린 멀티플랫폼에 대한 이야기를 직접 보고 듣는 기회가 생겼었습니다. 공통 모듈에서 네트워킹이나 복잡한 비즈니스로직 등은 단일 코드로 관리되면 좋을 것으로 생각했고, 그러기 위해 코틀린 세계(?)에서 비동기 처리에 대한 이해를 잘 해야 할 것 같다는 필요성을 느끼기 시작했습니다. 코틀린 멀티플랫폼은 지금도 많은 관심이 있는 부분이기도 하며, compose for desktop 을 보면서 더 이상 게으르면 안되겠다(?)는 생각을 하게 되었습니다.

지난 한해동안 참여하고 있는 프로젝트에 코루틴이 하나 둘씩 적용되기 시작했습니다. 코드리뷰나 코드 분석을 위해 KTX 의 viewModelScope 라던가, flow 같은 키워드들로 뜨문뜨문(?) 검색하는 수준이었습니다. 그러다 작년 하반기 팀원분들 모두 코루틴에 관심이 있는 것을 알게 되었고, 더 잘 이해하고 실무에 적용하고 싶어 공식 가이드 문서를 읽어보면서 함께 스터디를 진행하게 되었습니다.

코루틴 가이드에서는 kotlinx-coroutines-core 디펜던시를 추가할 것을 안내해 주고 있습니다. 코루틴 가이드 공식 문서 처음 추가된 이후, 내용이나 구성이 조금씩 변경되고 있습니다. 스터디 당시에는 1.4.0 기준으로 진행하였으며, 공식 문서의 예제 코드를 보고 실행 결과를 예상하고 맞는지 확인, 본문의 내용을 번역해 읽어보고 원본과 비교해가면서 이해하는 식으로 스터디를 진행했습니다.

스터디를 진행하면서 정리했던 코루틴 공식 가이드 문서의 번역(의역) 내용과 중간중간 이해를 돕기 위한 정리 및 참조링크를 포함하려고 합니다. 온라인에서 코틀린 실행이 가능하지만, coroutine 버전에 따라 실제 실행결과가 차이가 있을 수 있어 개인적으로 IntelliJ 에서 예제코드를 실행해보면서 스스로 학습하는것이 이해하는데 있어 가장 효과가 좋았다고 생각합니다.

혹시라도 이 글을 보시는 분들께 도움이 되었으면 하고, 잘못된 부분이 있거나 하면 편하게 알려주시면 감사하겠습니다.

--

--

김종식
김종식

Written by 김종식

앱 개발자 / 꿈은 축구선수 / 쌍둥이 아빠

No responses yet