변수(variable)란 값(data)을 저장할 수 있는 메모리 상의 공간을 의미한다.
이때 값(data)의 종류(type)에 따라 값이 저장될 공간의 크기와 저장 형식을 저장한 것을 자료형(data type)이라 말한다.
int number = 10; // 자료형 변수명 =(대입연선자) 값(data)
그리고 변수에 저장될 값이 메모리에 어떻게 저장되고 프로그램에서 어떻게 처리되어야 하는지를 알려주는 키워드이기도 하다.
자료형 (data type)은 크게 기본형과 참조형 두가지로 나눌 수 있다.
기본형 타입은 논리형 (boolean), 문자형 (char), 정수형 (byte, short, int, long) 실수형 (float, double) 8가지를 말한다.
분류 | 타입 | 크기 | 기본값 | 범위 |
---|---|---|---|---|
논리형 | 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 | ±(1.40129846432481707e-45 ~ 3.40282346638528860e+38) |
double(기본) | 8 byte | 0.0 | ±(4.94065645841246544e-324d ~ 1.79769313486231570e+308d) | |
문자형 | char | 2 byte | 'u0000' | 0 ~ 65,535 |
- 모두 소문자로 시작
- 비객체 타입으로 null값을 가질 수 없다.(기본값)
- 변수의 선언과 동시에 메모리 생성
- 모든 값 타입은 메모리의 스택(stack)에 저장
- 저장공간에 실제 자료 값을 가진다.
- float은 부동소수점(floating point)에서 유래
- double은 정밀도가 float의 두배라는 의미에서 유래
8가지의 기본형 타입(Primitive Type)을 제외한 나머지 타입들을 말한다.
- 실제 갑이 저장되지 않고 자료가 저장된 공간의 주소를 저장
- 실제 값이 있는 주소를 가지고 있어 그 주소를 참조해 값을 가져온다
- 메모리의힙(heap)에 실제 값을 저장, 주소를 갖는 변수는 스택(steak)에 저장
- null로 초기화 가능 (기본값 : null)
- 객체의 주소값을 저장하기 때문에 크기는 4 byte(64bit는 : 8byte)
이런 유용한 정보를 나눠주셔서 감사합니다.