GO SIWOO!

[Java] 기본형 변수 vs 참조형 변수 본문

Develop/자바(Java)

[Java] 기본형 변수 vs 참조형 변수

gosiwoo 2023. 2. 22. 17:37

자바에서 변수는 기본적으로 기본형 변수참조형 변수 2종류가 존재한다.

 

📌기본형 변수 (Primitive Variable)

실제 값(데이터)을 담을 수 있는 변수의 타입이다.

자바에서 제공하는 기본형 변수는 8가지로 논리형, 문자형, 정수형, 실수형으로 구분되며 boolean, char, byte, short, int, long, float, double가 있다.

특징으로는 산술 연산 가능, null로 초기화가 불가하다.

 

📌참조형 변수 (Reference Variable)

기본형 변수를 제외한 모든 변수로 String, System과 같은 것이 있다.

참조형 변수에는 값을 저장하지 않고 객체의 주소값을 저장한다.

 

📌기본형 변수와 참조형 변수의 메모리 저장 위치

stack과 heap

기본형 변수참조형 변수 모두 stack에 저장이 된다. 하지만 참조형 변수가 stack에 저장되는 값은 heap 영역의 주소값이고 값은 해당 주소의 heap에 있다

 

기본형 변수와 참조형 변수 저장위치

 

기본형 변수 : stack에 값 저장
참조형 변수 : heap에 값이 저장되고 stack에 해당 heap의 주소값 저장