본문 바로가기

JAVA

[JAVA] 원시 타입과 참조 타입

변수는 원시 타입과 참조 타입으로 나눌 수 있습니다.
원시 타입은 정수, 실수 등 실제 값을 저장하는 메모리 영역이고
참조 타입은 객체의 주소처럼 메모리의 주소 값을 통해서 객체를 참조하는 타입입니다.


원시 타입

원시 타입은 정적 메모리 영역인 스택에 저장합니다.

종류 데이터형 크기(byte) 데이터 범위
논리형 boolean 1 true 또는 false
문자형 char 2 '\u0000' ~ '\uFFFF'
정수형 byte 1 -128 ~ 127
정수형 short 2 -32,768~32,767
정수형 int 4 -2,147,483,648 ~ 2,147,483,647
정수형 long 8 -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
실수형 float 4 -3.4 * 10^38 ~ 3.4 * 10^38
실수형 double 8 -1.7 * 10^308 ~ 1.7 * 10^308

자바의 원시 타입에 대해서 이렇게 표로 나타낼 수 있습니다.
모두 비객체 타입이기 때문에 null 값을 가질 수 없습니다.

 

참조 타입

참조 타입은 동적 메모리 영역인 에 저장합니다.
이 메모리 영역은 GC에 의해서 해제됩니다.

객체를 저장하면 변수는 힙에 대한 주소를 스택 영역에 저장합니다.
그리고, 객체를 사용할 때 이 주소를 참조하여 불러옵니다.

참조 타입 변수는 객체가 비었다는 뜻의 null 데이터를 저장할 수 있습니다.


글을 끝까지 봐주셔서 감사합니다.
틀린 내용이 있다면 댓글로 지적 부탁드립니다.