우선 Stack 영역에 변수 name이 할당되고, 그 안에 heap 내의 레퍼런스 배열의 시작 주소가 담겨 있다.
이때, 유념해야 할 것이 있다.
배열이란 본래, 같은 타입의 [연속적인] 메모리 공간이다.
고로, 배열의 메모리 상의 위치가 연속적으로 할당이 될 것 같이 생각을 한다.
반은 맞고 반은 틀리다.
Heap 내의 [레퍼런스 배열]에 대해서는 물리적으로 연속적으로 위치하지만,
실제 String 객체는 java를 비롯한 대부분의 High Level Language는 위 그림과 같이 heap내에서 연속적이 아니라 띄엄
띄엄 위치해 있다.
'프로그래밍 언어 (プログラミング言語) > JAVA' 카테고리의 다른 글
equals()의 default (0) | 2023.04.20 |
---|---|
불변 객체(Immutable Object) (0) | 2023.04.20 |
Collectino Framework Hierarchy in JAVA(컬렉션 계층도) (0) | 2023.03.30 |
JAVA에서의 Lamda ( = call back or call - after - function ) (0) | 2023.02.21 |
Void Wrapper Class (0) | 2023.02.20 |