1. 원칙코루틴은 반드시 부모-자식 계층 구조 안에서 생명주기가 관리되어야 한다 라는 설계 원칙 핵심 규칙 3가지1. 부모는 모든 자식이 끝날 때까지 기다린다 - 부모 코루틴은 자식이 완료되기 전에 완료될 수 없음2. 부모가 취소되면 자식도 전부 취소된다 - 취소가 계층을 따라 아래로 전파3. 자식이 실패하면 부모도 실패한다 - 예외가 계층을 따라 위로 전파 (SupervisorJob으로 차단 가능) 이 구조 덕분에 누수되는 코루틴 (leaked coroutine)이 원천적으로 불가능해집니다.스레드 시절에 'fire-and-forget' 후 잊혀진 백그라운드 작업 문제를 언어 차원에서 해결한것 2. 매커니즘 Job 계층 val parent = launch { // 부모 Job 생성 ..