Skip to Content
Suffering builds character

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 인스턴스를 생성했을 때의 메모리 상태

reference

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

memory_state

Main.java
System.out.println(mickey.age); // 82(?) System.out.println(mickey.name); // 제리(?)

그래서 mickey.age와 mickey.name을 출력해도 제리의 age: 82와 name: 제리 가 출력됨 → 참조 변수에는 하나의 주소 값만이 저장될 수 있음

1-5. 하나의 참조 변수로 둘 이상의 인스턴스를 가리키는 것은 불가능

memory_state

Last updated on