일반 변수 : 실행하기 전부터 ( 컴파일 시에 ) 크기가 정해져 있는 것
레퍼런스 변수 : 컴파일 시점에 크기가 정해져 있지 않는 것 (=실행 시 정해짐)
int num; -> 변수를 선언한다.
int num=10; -> 변수를 초기화(메모리에 할당)한다.
컴파일 시 d의 크기를 모름 -> 실행 시 알게됨
new하면 heap에 저장됨.
일반 변수는 값을 가지고 있고
레퍼런스 변수는 주소를 가지고 있다. ( 한 번 더 가서 값을 찾는다. )
( 레퍼런스 변수는 컴파일시 크기를 모르기 때문에 heap 영역에 넓게 잡아놓고 주소를 가지게됨 )
레퍼런스 변수 1, 1000 각각 4byte씩 먹는다.
'Basic Grammar > Java' 카테고리의 다른 글
JAVA의 메모리구조 정리 (0) | 2022.07.21 |
---|---|
14강 - 자바 메모리구조 이해하기 (0) | 2022.07.20 |
자바 9강 - 자바코드 실행원리 (0) | 2022.07.20 |
자바의 레퍼런스 타입 (0) | 2022.07.17 |
함수형 인터페이스 (0) | 2022.07.16 |