값의 타입에 따라 저장될 공간의 크기와 저장 형식을 정의한 것 !
변수(variable)란 데이터(data)를 저장하기 위해 프로그램에 의해 이름을 할당받은 메모리 공간을 의미한다.
변수를 선언할 때는 저장하려는 값의 특성을 고려하여 가장 알맞은 자료형을 변수의 타입으로 선택하면 된다.
데이터 타입(자료형)은 크게 두가지로 구분된다.
- 기본형(primitive type) : 계산을 위해 실제 값을 저장한다. 변수의 값을 읽기만 할 수 있다.
- 참조형(reference type) : 값을 저장하고 있는 메모리 공간의 주소을 저장한다. null 또는 객체의 주소를 갖는다. 변수의 값을 읽고 변경할 수 있다. (read & write)
크게는 논리형 (boolean), 문자형 (char), 정수형 (byte, short, int, long) 실수형 (float, double) 으로 나뉜다.
타입 | 할당되는 메모리 크기 | 기본값 | 데이터의 표현 범위 |
---|---|---|---|
논리형 | boolean | 1 byte | false |
정수형 | byte | 1 byte | 0 |
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 |
(접미사 'l'또는 'L'을 붙여준다.) | |||
실수형 | float | 4 byte | 0.0F (접미사 'f' 또는 'F'을 붙여준다.) |
double(기본) | 8 byte | 0.0 | (1.7 X 10-308) ~ (1.7 X 10308) 의 근사값 |
문자형 | char | 2 byte (유니코드) | '\u0000' |
간단히 말하자면, 위의 8가지 자료형(primitive type)을 제외한 나머지를 말한다고 보면 된다.
기본적으로 제공하는 클래스, 내가 스스로 만든 클래스, 배열, 열거 타입, 인터페이스 등을 모두 참조형이라고 한다.
타입 | 기본값 | 할당되는 메모리 크기 |
---|---|---|
배열(Array) | Null | 4 byte |
(객체의 주소값을 저장하니까) | ||
열거(Enumeration) | Null | ‘’ |
클래스(Class) | Null | ‘’ |
인터페이스(Interface) | Null | ‘’ |
가장 기본이 되는 지식인만큼 기본을 보다 탄탄히 다져야겠다는 생각을 했다. JAVA공부를 할 때 int와 interface를 자주 썼었는데 변수의 특성에 따라 좀 더 상세하게 자료형을 작성해야겠다는 생각을 했다.