기본형 매개변수: 변수의 값을 읽기만 할 수 있다. (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할 수 있다.
'JAVA' 카테고리의 다른 글
11. static 메서드와 instance 메서드 (0) | 2022.09.20 |
---|---|
10. 참조형 반환타입 (0) | 2022.09.20 |
8. 호출스택 (0) | 2022.09.18 |
7. static 변수와 instance변수 (0) | 2022.09.17 |
6. 선언위치(클래스영역, 메소드영역)에 따른 변수의 종류 (0) | 2022.09.17 |