JAVA

[JAVA] JAVA 기본 문법 - 참조 타입과 참조 변수

sagecode 2024. 11. 19. 20:53

1. 참조 타입과 참조 변수

참조 타입 : 배열, 열거, 클래스, 인터페이스 변수 등 메모리의 번지를 변수안에 저장하는 타입

 

A. 메모리 사용 영역 : JVM은 메모리 영역이 "메소드 영역", "힙 영역", "JVM 스택" 으로 구분된다.

  • 메소드 영역 : JVM이 시작할 때, 모든 스레드가 공유하는 영역입니다. 클래스들을 class loader로 읽어 클래스별로 static field와 constant, method, constructor 로 분류해서 저장합니다.
  • 힙 영역 : 객체와 배열이 생성되는 영역. 여기에 생성된 객체와 배열은 JVM 스택 영역의 변수나 다른 객체의 필드에서 참조합
  • JVM 스택 영역 : 메소드를 호출할 때마다 프레임을 추가하고 메소드가 종료되면 해달 프레임을 제거하는 동작을 수행합니다. 프레임 내부에는 로컬변수 스택이 있는데, 기본 타입 변수와 참조 타입 변수가 추가되거나 제거 됩니다. 스택 영역에 변수가 생성되는 시점은 초기화가 될 때, 즉 최초로 변수가 값이 저장될 때입니다. 변수가 선언된 블록 안에서만 스택에 존재하고 블록을 벗어나면 스택에서 제거됩니다.
char v1 = 'A'; // 1번

if (v1 == 'A') { // 2번
	int v2 = 100;
    double v3 = 3.14;
} 

boolean v4 = true; // 3번

1번 실행시 :

v1 A

 

2번 실행시 :

v3 3.14
v2 100
v1 A

 

3번 실행시 :

v4 true
v1 A