callbyvalue(2)
-
메소드를 이용한 Swap메소드 ( Call By Reference )
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 키워드를 꼭 작성해주어야 합니다.
2016.12.12 -
메소드를 이용한 Swap메소드 ( Call By Value )
1. Call By Value 메소드명(매개변수1, 매개변수2); -> 메소드로 데이터를 넘겨줄 때 Call By Value는 변수의 값만 넘겨주는 역할을 합니다. 따라서, 메인문에서 int 형으로 선언된 num1, num2와 메소드로 넘겨준 매개변수는 별개로 작용하게 되는 것입니다. ex)에서처럼 코드를 작성하게 되면 메인문의 변수 num1과 num2의 값이 변경된 것이아니라 메소드로 전달한 매개변수의 값을 스왑하고 출력은 매개변수가 아닌 num1과 num2를 출력하게 됩니다. 따라서, 메인문의 변수는 스왑은 일어나지 않게 되는 것입니다. ex) static void Main(string[] args) { int num1 = 0, num2 = 0; Console.WriteLine("첫번째 숫자를 입력하..
2016.12.12