매개 변수 전달(C# 프로그래밍 가이드)
C#에서는 인수를 값이나 참조로 매개 변수에 전달할 수 있습니다. 참조로 전달하면 함수 멤버, 메서드, 속성, 인덱서, 연산자 및 생성자에서 매개 변수 값을 변경하고 그 변경 내용을 호출 환경에서 유지할 수 있습니다. 참조로 매개 변수를 전달하려면 ref 또는 out 키워드를 사용하는데, 편의상 이 항목의 예제에서는 ref 키워드만 사용합니다. ref 및 out의 차이점에 대한 자세한 내용은 ref(C# 참조), out(C# 참조) 및 ref 및 out을 사용하여 배열 전달(C# 프로그래밍 가이드)을 참조하십시오.
다음 예제에서는 값과 참조 매개 변수 간의 차이점을 보여 줍니다.
class Program
{
static void Main(string[] args)
{
int arg;
// Passing by value.
// The value of arg in Main is not changed.
arg = 4;
squareVal(arg);
Console.WriteLine(arg);
// Output: 4
// Passing by reference.
// The value of arg in Main is changed.
arg = 4;
squareRef(ref arg);
Console.WriteLine(arg);
// Output: 16
}
static void squareVal(int valParameter)
{
valParameter *= valParameter;
}
// Passing by reference
static void squareRef(ref int refParameter)
{
refParameter *= refParameter;
}
}
자세한 내용은 다음 항목을 참조하십시오.
C# 언어 사양
자세한 내용은 C# 언어 사양을 참조하세요. C# 언어 사양은 C# 구문 및 사용법에 대한 신뢰할 수 있는 소스입니다.