본문 바로가기
JAVA

9. 기본형&참조형 매개변수

by seongju.lee 2022. 9. 20.

기본형 매개변수: 변수의 값을 읽기만 할 수 있다. (Read only)

참조형 매개변수: 변수의 값을 읽고 변경할 수 있다. (Read & Write)

(매개변수의 타입이 기본형이 아니면 모두 참조형이다.)

 

아래 코드를 통해, 참조형 매개변수와 기본형 매개변수의 차이를 살펴보자.

아래 코드의 스택 흐름을 꼭 그릴 줄 알아야 한다.

 

class Data {
	int x;
}

public class parametersEx {

	public static void main(String[] args) {
		
		Data d = new Data();
		d.x = 10;
		
		System.out.println("초기 d.x의 값 :: " + d.x);
		
		// 기본형 매개변수를 가지는 함수 
		change(d.x);
		System.out.println("call by value :: " + d.x);
		

		changeRef(d);
		System.out.println("Call by Reference :: "+ d.x);
	}
	
	// 기본형 매개변수 
	static void change(int x) {
		x = 1000;
		
	}
	
	// 참조형 매개변수 
	static void changeRef(Data d) {
		d.x = 1000;
		
	}

}
  • 매개변수가 참조형인 경우 주소를 그대로 참조하기 때문에, 해당 값을 Read&Write할 수 있다.