4. 참조
1. 참조 변수에 다른 참조 변수의 주소값을 할당하였을 경우
1-1. Mouse class 선언 및 멤버 정의
Mouse.java
public class Mouse {
int age;
String name;
public void sing() {
System.out.println(name + "찍찍");
}
}1-2. Mouse 인스턴스 생성 - mickey, jerry
Main.java
public class Main {
public static void main(String[] args) {
Mouse mickey;
mickey = new Mouse();
mickey.name = "미키";
mickey.age = 85;
Mouse jerry = new Mouse();
jerry.name = "제리";
jerry.age = 73;
}
}1-3. mickey, jerry 인스턴스를 생성했을 때의 메모리 상태

1-4. mickey = jerry 가 수행되었을 때의 메모리 상태

Main.java
System.out.println(mickey.age); // 82(?)
System.out.println(mickey.name); // 제리(?)그래서 mickey.age와 mickey.name을 출력해도 제리의 age: 82와 name: 제리 가 출력됨 → 참조 변수에는 하나의 주소 값만이 저장될 수 있음
1-5. 하나의 참조 변수로 둘 이상의 인스턴스를 가리키는 것은 불가능

Last updated on