# Awaitable 클래스를 통한 비동기 프로그래밍

> Asynchronous programming in Unity with the .NET async and await keywords and Unity's own custom Awaitable class.

비동기 프로그래밍을 사용하면 코드가 메인 스레드를 차단하지 않고도 오래 실행되는 작업을 수행할 수 있습니다. 이를 통해 애플리케이션은 비동기 작업이 완료될 때까지 기다리는 동안 계속 대응하고 다른 작업을 수행할 수 있습니다.

Unity는 .NET [async](https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/async) 키워드와 [await](https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/operators/await) 연산자를 사용하는 단순화된 비동기 프로그래밍 모델을 지원합니다.

Unity의 비동기 프로그래밍에 대해 읽기 전에 .NET의 비동기 프로그래밍에 대한 기본 요소를 이해해야 합니다. 중요한 컨텍스트는 [비동기 프로그래밍과 async 및 await](https://learn.microsoft.com/en-us/dotnet/csharp/asynchronous-programming/) 및 [작업 비동기 프로그래밍 모델](https://learn.microsoft.com/en-us/dotnet/csharp/asynchronous-programming/task-asynchronous-programming-model)을 참조하십시오.

| **항목**                                                                                                                    | **설명**                                                                     |
| ------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- |
| [Awaitable 소개](/engine/6000.0/manual/scripting/optimization/async-await-support/async-awaitable-introduction.md)          | Unity의 `Awaitable`에 대한 주요 기능과 이를 .NET `Task` 및 반복자 기반 코루틴과 비교하는 방법을 이해합니다. |
| [Awaitable 작업 완료 및 지속](/engine/6000.0/manual/scripting/optimization/async-await-support/async-awaitable-continuations.md) | 대기 중인 작업이 완료되면 비동기 코드가 재개되는 방식과 이것이 애플리케이션의 기능과 성능에 어떤 영향을 미치는지 이해합니다.     |
| [Awaitable 코드 예시 레퍼런스](/engine/6000.0/manual/scripting/optimization/async-await-support/async-awaitable-examples.md)      | `Awaitable` 코드 예시를 참조하여 일반적인 비동기 프로그래밍 문제를 해결합니다.                          |

## 추가 리소스##additional-resources

* [Awaitable API 레퍼런스](/engine/6000.0/script-reference/unity-engine/awaitable.md)
* [C# 잡 시스템](/engine/6000.0/manual/scripting/optimization/job-system.md)
* [코루틴](/engine/6000.0/manual/scripting/object-oriented-development/coroutines.md)
