더북(TheBook)

참조 전달 방식

참조 전달 방식은 ref 키워드로 로컬 변수를 공유할 때 사용하는 방식입니다. 다음 내용을 입력한 후 실행해 보세요.

참조 전달 방식: ParameterRef.cs

using System;

class ParameterRef
{
    static void Main()
    {
        int num = 10;
        Console.WriteLine($"[1] {num}"); //①
        
        Do(ref num);                      //참조 전달 방식

        Console.WriteLine($"[3] {num}"); //③
    }

    static void Do(ref int num)
    {
        num = 20; //호출한 부분에 적용(Main() 메서드의 num 변수 값이 변경됨)
        Console.WriteLine($"[2] {num}"); //②
    }
}

실행 결과

[1] 10
[2] 20
[3] 20

은 지역 변수인 num10을 출력합니다.

의 매개변수 numMain() 메서드의 지역 변수인 num을 참조하기에 Do 메서드에서 값이 변경되면 그 변경되는 값을 Main() 메서드의 num에 반영합니다.

에서는 Main() 메서드의 지역 변수 num 값이 이미 20으로 변경되었기에 “20”이 출력됩니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.