유니티에서 개발자가 작업하게 되는 환경은 대게 단일 쓰레드이다. C# 잡 시스템을 통해 멀티스레드 코드를 작성할 수 있지만 기본적으로는 단일 스레드라고 생각하면 된다. 이런 환경에서 일정 시간 이후에 작업이 실행된다던가 반복적으로 실행된다던가 하는 상황, 비동기 작업을 하기 힘들다. 코루틴은 이러한 작업을 수행할 때 사용된다. IEnumerator를 반환하는 함수에 yield 키워드를 사용하여 일시 중단할 수 있다. 이때 null을 반환하면 1프레임, new WaitForSeconds(n)을 반환하면 n초 이후에 다음 코드가 실행된다. 반복문을 통해 반복적으로 코드를 실행하게 하는것 또한 가능하다. IEnumerator를 반환하므로 foreach문을 돌리는것도 가능하다. 코루틴은 일정시간 이후에 작업을..