728x90
자바에서 변수의 데이터 타입은 크게 원시 타입이라고도 불리는 Primitive Type(기본형)과 Reference Type(참조형)으로 나뉜다. 영어로 말해서 뭘 말하는 건지 모를 수 있으니 알아두자
Primitive Type 기본형
자바 메모리 영역중 스택 영역에 실제 값이 할당되는 기본 데이터 타입들이다.
자바에서 데이터 타입의 최소 크기는 1byte다.
- boolean : 논리형 1byte true 또는 false
- char : 문자형 2byte 유니코드 문자데이터
- byte : 정수형 1byte -2^7 ~ 2^7-1
- short : 정수형 2byte -2^15 ~ 2^15-1
- int : 정수형 4byte -2^31 ~ 2^31-1
- long : 정수형 8byte -2^63 ~ 2^63-1
- float : 실수형 4byte 1.4E-45 ~ 3.4028235E38
- double : 실수형 8byte 4.9E-324 ~ 1.7976931348623157E308'
정수형의 숫자 범위에 대해 데이터 타입의 크기 byte형을 예시로 들면
1byte = 8bit인데 8bit중 맨 앞 1bit는 음수 양수의 부호를 표시하고 나머지 7bit로 숫자를 표시하기 때문에 표현 범위가
-2^7 ~ 2^7-1로 된다. -1은 중간에 0이 있기 때문에 -1을 해준다.
Reference Type 참조형
기본형을 제외한 데이터 타입들이다. 실제 객체는 자바의 Heap영역에 저장되고 객체를 참조하고 있는 변수는 기본형 데이터와 같이 Stack영역에 저장된다.
Ex)
int num = 25;
char charactor = 'a';
String str= "자바";
스택 영역 | 힙 영역 |
num = 25 charactor = 'a' str = 주소값 |
String 자바 |
힙 영역 데이터들은 가비지 컬렉터인 GC에 의해 관리된다.
728x90
'Java' 카테고리의 다른 글
String은 왜 불변 객체로 만들었을까? (0) | 2022.05.06 |
---|---|
StringBuilder 살짝 까보기 (생성자, append) (0) | 2022.05.06 |
Java String CompareTo 메서드 (0) | 2021.10.14 |
Java String, StringBuilder, StringBuffer (0) | 2021.10.12 |
JVM 가비지 컬렉터(GC) Garbage Collector (0) | 2021.10.10 |