변수의 자료형(data type)?
변수(variable)란 값(data)을 저장할 수 있는 메모리 상의 공간을 의미한다. 변수를 선언할 때 값(data)의 종류(type)에 따라 값이 저장될 공간의 크기와 저장 형식을 저장한 것을 자료형(data type)이라 말한다.
- 선언할 때 주어진 타입은 변수 사용 중에 변경할 수 없다.
int number = 10; // 자료형 변수명 =(대입연선자) 값(data)
- 변수에 저장될 값이 메모리에 어떻게 저장되고 프로그램에서 어떻게 처리되어야 하는지를 알려주는 키워드이기도 하다.
자료형 (data type)은 크게 기본형과 참조형 두가지로 나눌 수 있다.
- 기본형 : 실제 값(date)을 저장한다.
- 참조형 : 객체의 주소(memory address)를 저장한다.(null or 객체의 주소)
기본형 타입(Primitive 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 |
특징
1. 모두 소문자로 시작
2. 비객체 타입으로 null값을 가질 수 없다.(기본값)
3. 변수의 선언과 동시에 메모리 생성
4. 모든 값 타입은 메모리의 스택(stack)에 저장
5. 저장공간에 실제 자료 값을 가진다.
6. float은 부동소수점(floating point)에서 유래
7. double은 정밀도가 float의 두배라는 의미에서 유래
참조형 타입 (Reference Type)
8가지의 기본형 타입(Primitive Type)을 제외한 나머지 타입들을 말한다.
- 문자열, 배열, 열거, 클래스, 인터페이스 타입을 말한다.
특징
1. 실제 갑이 저장되지 않고 자료가 저장된 공간의 주소를 저장
2. 실제 값이 있는 주소를 가지고 있어 그 주소를 참조해 값을 가져온다
3. 메모리의힙(heap)에 실제 값을 저장, 주소를 갖는 변수는 스택(steak)에 저장
4. null로 초기화 가능 (기본값 : null)
5. 객체의 주소값을 저장하기 때문에 크기는 4 byte(64bit는 : 8byte)
'Java' 카테고리의 다른 글
[JAVA] 형변환(casting) (0) | 2023.08.05 |
---|---|
[JAVA] 자바의 리터럴(literal)? (0) | 2023.08.05 |
[JAVA] 변수(variable)와 상수(constant) (0) | 2023.08.05 |
[JAVA] JVM(Java Virtual Machine) (0) | 2023.08.05 |
[JAVA] 자바 언어의 특징? (0) | 2023.08.05 |