정의
C#에서 out 키워드는 메서드의 파라미터 선언 시 사용 합니다.
이것은 메서드가 변환하는 값을 제어된 방식으로 출력 파라미터로 사용할 수 있습니다.
일반적으로 메서드의 반환 값은 하나이지만 때로는 여러 값을 반환하거나 특정한 조건에 따라 변환 값을 결정해야 할 때가 있습니다. 이런 상황에서 out 키워드를 사용하여 메서드의 반환 값을 제어할 수 있습니다.
예제
Plus 메서드의 반환값을 보면 void 형태로 반환값이 없습니다.
하지만 out 키워드는 해당 메서드의 3번째 파라미터 value를 통해서 값을 반환 시켜줄 수 있습니다.
Plus 메서드의 a 와 b 의 연산이 value에 담기고 out 키워드를 통해서 value를 반환해 줍니다.
호출 단계에서는 int 타입의 변수 result를 통해 Plus 메서드의 value 파라미터가 return 해주는 값을 전달 받습니다.
int result = 0;
Taco.Plus(5, 10, out result); // 15 출력
public class Taco
{
public static void Plus(int a , int b, out int value)
{
value = a + b;
}
}
out 키워드는 다중으로도 사용 가능 합니다.
int plus = 0;
int subtract = 0;
Taco.Calculate(5, 10, out plus, out subtract);
Console.WriteLine(plus); // 15
Console.WriteLine(subtract); // -5
public class Taco
{
public static void Calculate(int a, int b, out int plus, out int subtract)
{
plus = a + b;
subtract = a - b;
}
}
결론
반환 값이 없는 메서드에서 값을 추출하고 싶을 때, out 키워드를 사용하자.