"Coroutine" is a function that has the ability to pause and restart the execution of a program.
Normally, when a function is called in the middle of program, it runs to completion. With the function of Coroutine, however, it is possible to pause and restart the execution again.