이번 시리즈에서는 C# 의 yield return 에 대해 자세히 소개하려고 합니다.
처음 접하는 분들도 차근차근 이해할 수 있도록 예제를 중심으로 풀어갈 예정입니다.
그럼 첫 번째 이야기부터 시작해 보겠습니다.
일반적인 함수는 중간에 멈출 수 없다
일반적인 함수는 실행 중에 빠져나갔다가 다시 돌아올 수 없습니다.
예를 들어, 아래 코드를 보면 ...
void MyFunc()
{
Console.WriteLine(1);
Console.WriteLine(2);
Console.WriteLine(3);
}
이 함수는 한 번 실행되면 끝까지 실행되며, 중간에 멈출 방법이 없습니다. 즉, 1을 출력하고 멈추고 싶어도 그럴 수 없으며, 무조건 2, 3까지 실행됩니다.
yield return 을 사용하면 중간에 멈추고 다시 실행할 수 있다
C# 에서는 yield return을 사용하면 함수 실행을 중단하고 나중에 다시 이어서 실행할 수 있습니다.
아래 코드를 보면 ...
IEnumerator MyCoroutine()
{
Console.WriteLine(1);
yield return null;
Console.WriteLine(2);
yield return null;
Console.WriteLine(3);
}
이 함수는 1을 출력한 후 yield return null 에서 멈춥니다.
그리고 다음 frame 에서 2 를 출력하고 또 멈추고, 그 다음 frame 에서 3 까지 순서대로 실행됩니다.
즉, 함수가 한 번에 끝나는 게 아니라 중단과 재개 가 가능한 구조입니다.
yield return 은 어디에 사용될까?
일정 주기마다 실행될 필요가 있는 로직을 구현하거나, 특정 이벤트가 발생할 때까지 실행을 멈추고 싶은 경우 등 yield return 을 사용하면 함수가 한 번에 실행될 필요 없이, 원하는 곳에서 잠깐 멈출 수 있도록 도와주는 기능입니다.
'C#' 카테고리의 다른 글
3. yield return 에 대해 (유니티에서의 동작) (0) | 2025.03.09 |
---|---|
2. yield return 에 대해 (내부 동작) (0) | 2025.03.09 |
Action 과 Func 의 형변환 살펴보기 (0) | 2025.03.08 |
=> (람다 연산자) 이해하기 (0) | 2025.03.08 |
제네릭 (Generic) <T> 에 대해서 (0) | 2025.03.05 |