out

tacoyaggi ㅣ 2024. 2. 20. 08:28

정의

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 키워드를 사용하자.

'SW 기능 > C#' 카테고리의 다른 글

ref  (0) 2024.02.20
Delegate  (0) 2024.02.14
typeof  (0) 2024.02.02
this  (0) 2024.02.02
Struct  (0) 2024.02.02