티스토리 뷰

반응형

참조형 변수

java에서 변수의 타입 중 참조형 변수란 stack에 쌓이는 명시적인 값이 아니라 주소를 저장하는 것이다.

 

참조형 변수외에 기본형 변수는 메모리 구조 중 stack에 실제값이 들어간다.

Int id = 1231; (1231이라는 값을 id 변수에 저장)

반면에 참조형 변수는 stack에 주소값(4byte)이 저장되고 heap영역에 새로운 저장공간을 생성한다.

String str = new Strint("apple");

영문학 전공자로서 쉽게 이해가 되지 않아 영어 문법에 비유를 하며 좀 더 이해를 높이고자 한다.

영문법에서 3형식은 + + 이라는 구조를 갖는다. 목적어에는 각각 명사와 명사절을 포함할 수 있다.

 

ex)목적어에 명사를 넣을 경우

I like 2.

 

ex) 목적에 명사절(to 부정사)을 넣는 경우

I like to eat apple with my family.

I like that my friends come to my house to play the video game.

 

이때 숫자 2는 선언한 변수에 실제 값을 저장할 수 있고 stack에 저장이 가능하다.

int i = 2;

반면에 to eat apple with my family는 다른 문장으로도 표현을 할 수 있고 굉장히 가변적일 수 있다. 또한 절의 길이 너무 길어 stack에 저장하면 굉장히 비효율적이다. 따라서 목적어 자리(주소값)를 stack에 저장하고 HEAP 공간에 명사절을 저장한다고 생각 할 수 있다. 

String str = new String(“명사절”);

결론적으로 참조형 변수에는 heap의 주소 부분을 저장하는 것이다. 마치 목적어 자리의 주소를 저장하듯이..

(개인적인 공부를 위한 공간으로 원리가 맞지 않더라고 너그럽게 이해부탁드립니다.)

반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함