그렇지만 C#은 조금 더 안전한 방법으로 똑같은 일을 할 수 있게 해줍니다.
바로 out 키워드를 이용한 “출력 전용 매개변수”입니다.
out 키워드의 사용법은 간단합니다. 메소드의 선언부와 호출부에 ref 키워드 대신
out 키워드를 사용하는 것이 전부입니다.
예제)
void Divide(int a, int b, out int quotient, out int remainder)
{
quotient = a / b;
remainder = a % b;
}
int a = 20;
int b = 3;
int c = 0;
int d = 0;
Divide(a, b, out c, out d);
Console.WriteLine("Quotient : {0}, Remainder {1}", c, d);
ref와 키워드만 다를뿐 차이점은 없는걸까?
예를 들어 ref 키워드를 이용해서 매개변수를 넘기는 경우 메소드가 해당 매개변수에 결과를
저장하지 않아도 컴파일러는 아무런 경고를 하지 않습니다.