Coroutine은 비동기 프로그래밍을 위한 Kotlin의 솔루션입니다 — 메인 스레드를 차단하지 않으면서 순차적으로 읽히는 비동기 코드(네트워크 호출, 데이터베이스 작업)를 작성합니다. Android에서 비동기 작업을 처리하는 현대적 권장 방식으로, 콜백의 복잡성을 피합니다.
Android에서 비동기가 중요한 이유
메인(UI) 스레드는 반응성을 유지해야 함 — 차단하면 (네트워크/DB 작업으로) UI가
멈춤 (ANR "Application Not Responding" 오류):
→ 긴 작업은 메인 스레드 밖에서 실행되어야 함 (비동기로)
→ 옛 접근: 콜백 (중첩, 복잡), 스레드/AsyncTask (장황, 오류 발생 쉬움)
→ COROUTINE은 비동기 코드를 깔끔하고 순차적으로 만듭니다.
Coroutine: 순차적으로 보이는 비동기 코드
: User {
user = api.getUser()
posts = api.getPosts(user)
user
}
viewModelScope.launch {
user = loadUser()
updateUi(user)
}
