Q1. 특정 메서드로 전달받은 매개변수 [int a = 10]를 1000로 변경하였다.
근데 왜, 변경이 '안되는' 것일까?
class Data {
int x;
}
public class Main {
public static void main(String[] args) {
Data data = new Data();
data.x = 10;
change(data.x);
System.out.println(data.x);
}
static void change(int a) {
a = 1000;
}
}
10
Q2. 특정 메서드로 전달받은 매개변수 [int a = 10]를 1000로 변경하였다.
근데 왜, 변경이 '되는' 것일까?
class Data {
int x;
}
public class Main {
public static void main(String[] args) {
Data data = new Data();
data.x = 10;
change(data);
System.out.println(data.x);
}
static void change(Data a) {
a.x = 1000;
}
}
1000