충분히 쌓여가는
기본형 매개변수와 참조형 매개변수 본문
기본형 매개변수
변수의 값을 읽기만 할 수 있다(Read only)
메서드를 호출할 때 기본형 값이 복사됨
class Data { int x; }
public class PrimitiveParaEx {
public static void main(String[] args) {
Data d = new Data();
d.x = 10;
System.out.println(d.x); // 10
change(d.x);
System.out.println(d.x);// 10
}
static void change(int d) { // 기본형 매개변수
d = 1000;
System.out.println("chage: " + d); // chage: 1000
}
}
10
chage: 1000
10
참조형 매개변수
변수의 값을 읽고 변경할 수 있다(Read & Write)
메서드를 호출할때 인스턴스 주소가 복사됨 -> 저장된 곳의 주소를 알 수 있기 때문에 값을 읽고 변경할 수 있다
chage 메서드에서 d의 타입이 기본형이 아니기 때문에 참조형이다
class Data { int x; }
public class PrimitiveParaEx {
public static void main(String[] args) {
Data d = new Data();
d.x = 10;
System.out.println(d.x); // 10
change(d);
System.out.println(d.x);// 1000
}
static void change(Data d) { // 참조형 매개변수
d.x = 1000;
System.out.println("chage: " + d.x); // chage: 1000
}
}
10
chage: 1000
1000
'Java > 객체지향' 카테고리의 다른 글
오버로딩 overloading (0) | 2023.05.30 |
---|---|
class 메서드(static 메서드)와 instance 메서드 (0) | 2023.05.30 |
return 문 (void => return 문 생략 가능) (0) | 2023.05.25 |
메서드(method) (0) | 2023.05.25 |
인스턴스 변수와 클래스 변수 (0) | 2023.05.24 |