지난번 포스팅에서 코루틴 빌더 함수와 Job객체에 대해 알아보았다. 이번 포스팅에서는 async와 Deferred에 대해서 알아보자. 이전에 배운 launch 코루틴 빌더 함수는 코루틴으로부터 결과값을 받을 수 없었다. 다만 Job객체를 받을 뿐이었다. 그런데 코루틴으로부터 작업에 대한 결과값을 받을 필요가 있을 수 있다. 이때 사용하는데 async와 Deferred응답 객체이다. async(Dispatchers.IO) { ... }와 같이 사용할 경우 Deferred를 리턴받고, 해당 Deferred타입의 변수에 대해 await()메서드를 사용하면 결과를 받을 수 있다. await()을 사용하는 이유는, 코루틴이 언제 완료될지는 모르기 때문에 Deferred가 미래의 값이라는 의미..