다음을 통해 공유


매개 변수 전달(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# 구문 및 사용법에 대한 신뢰할 수 있는 소스입니다.

참고 항목

참조

메서드(C# 프로그래밍 가이드)

개념

C# 프로그래밍 가이드