[Android] Kotlin Coroutine 시작하기.

Enso·2025년 3월 2일

Android-Kotlin-Coroutine

목록 보기
1/13
post-thumbnail

'정석준님 (https://github.com/sjjeong)' 께서 주관하시는 Kotlin Coroutine 스터디를 진행하면서 스스로 배우고, 보완 해나가는 과정을 정리할 예정입니다.

저는 약 3년의 안드로이드 개발 경력을 가지고 있으며, 그동안 비동기 프로그래밍을 코루틴을 통해서 사용 해왔지만 제대로 알고 사용하지 못하였습니다. 잘못 된 것은 알지만 예외를 전파하지 못하면 Return null 로 반환하여 예외를 처리 하는 것과 같이 '이가 없으면 잇몸으로' 를 실천하는 코딩 방식을 고수 해왔습니다.

이제는 이런 코딩을 더이상 하지 않기 위해 코루틴을 제대로 공부하고 프로덕트에 적용하고 싶기에 스터디를 신청하고 진행하게 되었습니다. 스터디 내용은 굉장히 주관적인 내용이 많아질 수 있다는점 양해 부탁드리며, 잘못된점 혹은 개선할 수 있는 점이 있다면 언제든지 조언 부탁드립니다.

코틀린 코루틴 정석

위 책의 내용을 공부하면서 안드로이드 혹은 Kotlin 언어로 개발을 하는 개발자분들에게 지식을 공유하고, 더 나은 개발 지식을 쌓고 공유될 수 있길 바라며, 글을 작성합니다.

목차

  1. 스레드 기반 작업의 한계와 코루틴의 등장
  2. 코루틴 개발 환경 설정
  3. CoroutineDispatcher
  4. 코루틴 빌더와 Job
  5. async와 Deferred
  6. CoroutineContext
  7. 구조화된 동시성
  8. 예외 처리
  9. 일시 중단 함수
  10. 코루틴의 이해
  11. 코루틴 심화
  12. 코루틴 단위 테스트

개인적인 생각

목차를 보면서 드는 생각은 왜 순서가 정해져있을까? 였습니다.
그동안 코루틴을 사용하면서 launch 와 같은 함수를 사용하면서 Job을 상속 받은 코루틴 빌더를 만들었고, Coroutine Dispathcer 로 어느 쓰레드에서 동작하는지 명시하여 사용했었으며, async 등을 사용하여 병렬적 동작과 결과를 사용하도록 했었는데 이러한 부분이 배움에 있어서 순서가 중요 했던것이었을까? 라는 생각이 들었습니다.

1년이 넘게 코루틴을 사용 하면서 기능 구현을 위해 필요한 것들을 배우고 적용해보았다 생각했지만 목차 순서를 보고나서 내가 제대로 사용하지 못했었구나 라는 생각이 들었습니다.

그리고 실제로 코루틴을 사용하면서 제대로 사용하지도, 생각 하지도 못한 CoroutineContext구조화된 동시성 그리고 예외 처리 를 제대로 배울 수 있는 기회가 될 것 같다는 생각에 너무 재미있는 스터디가 될 것 같습니다.

profile
문제를 먼저 파악하고 대처할 수 있는 개발을 지향합니다.

0개의 댓글