class Data {
int x;
}
class Ex6_8 {
public static void main(String[] args) {
Data d = new Data();
d.x = 10;
Data d2 = copy(d);
System.out.println("d.x = " + d.x);
System.out.println("d2.x = " + d2.x);
}
static Data copy(Data d) {
Data tmp = new Data();
tmp.x = d.x
return tmp;
}
}
Data d = new Data(); // 객체를 생성한다.
d.x = 10; // 초기화
Data d2 = copy(d); // copy(d)메소드를 d2에 대입한다.
copy메소드가 실행된다.
static Data copy(Data d) { //매개변수 Data3 d객체의 저장된 값을 복사해서 반환한다.
Data tmp = new Data(); //tmp의 새로운 객체가 생성된다.
tmp.x = d.x //d.x의 객체의 주소를 tmp.x객체의 주소값에 대입한다.
return tmp; //tmp의 주소값을 리턴한다.
}
d.x = 10;
d2.x = 10;