프로그래밍 언어 (プログラミング言語)/JAVA
레퍼런스 배열과 실제 객체의 메모리 할당 in JAVA
JIN_YOUNG _KIM
2023. 4. 1. 08:21
우선 Stack 영역에 변수 name이 할당되고, 그 안에 heap 내의 레퍼런스 배열의 시작 주소가 담겨 있다.
이때, 유념해야 할 것이 있다.
배열이란 본래, 같은 타입의 [연속적인] 메모리 공간이다.
고로, 배열의 메모리 상의 위치가 연속적으로 할당이 될 것 같이 생각을 한다.
반은 맞고 반은 틀리다.
Heap 내의 [레퍼런스 배열]에 대해서는 물리적으로 연속적으로 위치하지만,
실제 String 객체는 java를 비롯한 대부분의 High Level Language는 위 그림과 같이 heap내에서 연속적이 아니라 띄엄
띄엄 위치해 있다.