ReferenceParamTest.java
/main의 a.data와 같음 참조변수를 매개변수로 받았다. main 값에 영향을줌 (Call by Reference)
package kr.co.kihd.call;
public class ReferenceParamTest {
//기본형 형태 매개변수사용
public static void main(String[] args) {
A a = new A();
a.data = 77;
System.out.println("메서드 호출 전 main()내의 값 : "+a.data);
//Call by Reference(주소에 의한 호출)
//참조형 (값을 읽고 수정도 가능함)
ReferenceParamTest.dataChange(a);
System.out.println("dataChange() 호출");
System.out.println("메서드 호출 후 main()내의 값 : "+a.data);
}
//int[], double[], String ==> 참조변수 형태, 데이터 참조형 매개변수형
public static void dataChange(A a) {
//지역변수
a.data = 44; //main의 a.data와 같음 참조변수를 매개변수로 받았다. main 값에 영향을줌 (Call by Reference)
System.out.println("dataChange()내의 값"+a.data);
return;
}
}
메서드 호출 전 main()내의 값 : 77
dataChange()내의 값44
dataChange() 호출
메서드 호출 후 main()내의 값 : 44