메소드를 이용한 Swap메소드 ( Call By Reference )

2016. 12. 12. 12:53C# 콘솔( Console )/메소드

1. Call By Reference ( 참조에의한 호출 )



        swap(ref num1, ref  num2); 

        static void swap(ref int num1, ref int num2) 
        { 
            int num_swap = num1; 
            num1 = num2; 
            num2 = num_swap; 
        }

 


   -> Call By Reference는 변수의 주소값을 메소드로 전달하기 때문에 메소드에서 스왑을 하게되면 메인문의 변수가 저장되어있는 주소의 값을 변경하게 되는 것입니다. 따라서, 매개변수를 스왑을 하게 되면 메인문의 변수의 값도 스왑이 일어나게 됩니다.

   -> 메소드를 선언할 때와 호출할 때 ref 키워드를 꼭 작성해주어야 합니다.