메서드의 매개변수 전달 방식 세 가지 비교하기

    메서드의 매개변수 전달 방식으로 사용하는 세 가지 방식을 예제 단위로 비교해서 설명하겠습니다.

     

    값 전달 방식

    첫 번째로 매개변수 전달 방식의 거의 대부분으로 사용하는 값 전달 방식을 정리하겠습니다. 다음 내용을 입력한 후 실행해 보세요.

    > int num = 10;
    > Console.WriteLine($"[1] {num}"); //①
    [1] 10
    >
    > static void Do(int num)          //②
    . {
    .     num = 20;
    .     Console.WriteLine($"[2] {num}");
    . }
    >
    > Do(num);
    [2] 20
    > Console.WriteLine($"[3] {num}"); //③
    [3] 10

    에서는 Main() 메서드의 지역 변수인 num10을 그대로 출력합니다.

    에서는 Main() 메서드에서 전달된 num 값인 10Do 메서드의 num 매개변수에 저장되고, num 매개변수 값에 20을 대입하여 변경한 후 20을 출력합니다. 여기에서 20Do 메서드에서만 변경되고, Main() 메서드의 num 변수에는 영향을 주지 않습니다.

    이 실행될 때 numMain() 메서드의 지역 변수이기에 10인 상태 그대로 출력됩니다.

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