글 작성자: 취업중인 피터팬
728x90
JDK : 1.8.0_261 버전
JRE : 1.8.0_261 버전
JAVA VERSION : 8 업데이트 261
Eclipse IDE VERSION : 2020-06버전

 

목표

매개변수로 배열의 참조값을 전달하는 프로그램을 만든다.


 

 

 

코드
package ex06array;

/*
 Call By Reference(참조의 의한 호출)
 		: 메소드를 호출할 때 참조값을 전달함으로써 서로 다른
 		지역에서도 동일한 메모리(힙영역)를 참조할 수 있게 하는
 		호출 방식이다.
 		메소드의 지역이 다르더라도 참조값을 통해 참조하게 되므로
 		A영역에서의 값의 변경을 B영역에서도 그대로 참조할 수 있는 장점이 있다.
 		메모리도 절약할 수 있다.
 */

public class E04CallByReference {

	public static void main(String[] args) {
		int[] arr = {100, 200};
		
		System.out.println("[메인메소드] - Swap전 출력");
		for(int i = 0; i < arr.length; i++) {
			System.out.println(arr[i] + "");
		}
		System.out.println();
		
		callByReference(arr);
		
		System.out.println("[메인메소드] - Swap후 출력");
		for(int i = 0; i < arr.length; i++) {
			System.out.println(arr[i] + "");
		}
	}
	
	static void callByReference(int[] ref) {
		int temp;
		temp = ref[0];
		ref[0] = ref[1];
		ref[1] = temp;
		
		System.out.println("[callByValue 메소드 안] ref[0]=" + ref[0] + ", ref[1] = " + ref[1]);

	}
	
}

 

배열(3-1) 응용편에서는 참조값이 아닌 그냥 값을 매개변수로 전달해 지역에 특성에 따라 지역밖에 있는 변수까지 영향을 미치지 않는 것을 보았습니다. 이번에는 참조값을 매개변수로 전달해 함수에서 처리한 값이 지역 밖에 까지 영향을 미치는 것을 볼 수 있습니다.

 

 

결과 값

 

'Java > Java_기초부터 _끝까지' 카테고리의 다른 글

Java 기초 2차원 배열(2)  (0) 2020.10.22
Java 기초 2차원 배열(1)  (0) 2020.10.22
Java 기초 배열(3-1) - 응용  (0) 2020.10.22
Java 기초 배열(3)  (0) 2020.10.22
Java 기초 배열(2)  (0) 2020.10.21