타입이란 데이터가 메모리에 어떻게 저장되고 프로그램에서 어떻게 처리되어야 하는지 명시적으로 알려주는 것이다. 자바에서는 크게 Primitive 타입과 Reference 타입으로 구분된다.
정수, 실수, 문자, 논리 리터럴등의 실제 데이터 값을 저장하는 타입이다
타입 | 할당되는 메모리 크기 | 기본값 | 데이터 표현 범위 | |
---|---|---|---|---|
논리형 | boolean | 1 byte | false | true, false |
정수형 | byte | 1 byte | 0 | -128 ~ 127 |
short | 2 byte | 0 | -32,768 ~ 32,767 | |
int(기본) | 4 byte | 0 | -2,147,483,648 ~ 2,147,483,647 | |
long | 8 byte | 0L | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 | |
실수형 | float | 4 byte | 0.0F | (3.4 X 10^-38) ~ (3.4 X 10^38) 의 근사값 |
double(기본) | 8 byte | 0.0 | (1.7 X 10^-308) ~ (1.7 X 10^308) 의 근사값 | |
문자형 | char | 2 byte(유니코드) | '\u0000' | 0 ~ 65,535 |
객체의 번지를 참조 하는 타입으로 메모리 번지 값을 통해 객체를 참조하는 타입이다.
타입 | 예시 | 기본값 | 할당되는 메모리 크기 |
---|---|---|---|
배열(Array) | int[] arr = new int[5]; | Null | 4 byte (객체의 주소값) |
열거(Enumeration) | Null | 4 byte (객체의 주소값) | |
클래스(Class) |
String str = "test"; Student sujin = new Student(); |
Null | 4 byte (객체의 주소값) |
인터페이스(Interface) | Null | 4 byte (객체의 주소값) |