참조형 매개 변수
class Data2 { int x; }
class Ex6_7 {
public static void main(String[] args) {
Data2 d = new Data2();
d.x = 10;
System.out.println("main() : x = " + d.x);
change(d);
System.out.println("After change(d)");
System.out.println("main() : x = " + d.x);
}
static void change(Data2 d) { // 참조형 매개 변수
d.x = 1000;
System.out.println("change() : x = " + d.x);
}
}
객체의 주소를 넘겨줘서 x 에 대입이 가능
참조형 반환 타입
class Data3 { int x; }
class Ex6_8 {
public static void main(String[] args) {
Data3 d = new Data3();
d.x = 10;
Data3 d2 = copy(d);
System.out.println("d.x ="+d.x);
System.out.println("d2.x="+d2.x);
}
static Data3 copy(Data3 d) {
Data3 tmp = new Data3(); // 새로운 객체 tmp 를 생성한다
tmp.x = d.x; // d.x의 값을 tmp.x 에 복사한다
return tmp; // 복사한 객체의 주소를 반환한다.
}
}
** static 은 객체 생성 없이 호출 가능