도찐개찐
[JAVA] 데이터 타입(Primitive type, Reference type) 본문
기본 타입 : Primitive type
참조 타입 : Reference type
기본형 타입(Primitive type)
- 총 8가지의 기본형 타입(Primitive type)을 미리 정의하여 제공한다.
- 기본값이 있기 때문에 Null이 존재하지 않는다. 만약 기본형 타입에 Null을 넣고 싶다면 래퍼 클래스를 활용한다.
- 실제 값을 저장하는 공간으로 스택(Stack) 메모리에 저장된다.
- 만약 컴파일 시점에 담을 수 있는 크기를 벗어나면 에러를 발생시키는 컴파일 에러가 발생한다. 주로 문법상의 에러가 많다. 예를 들어 ;을 안붙였다는 이유로 빨간 줄이 쳐지는 경우
타입 | 할당되는 메모리 크기 | 기본값 | 데이터의 표현 범위 | ||
논리형 | 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 1038) 의 근사값 | |
double(기본) | 8 byte | 0.0 | (1.7 X 10-308) ~ (1.7 X 10308) 의 근사값 | ||
문자형 | char | 2 byte (유니코드) | '\u0000' | 0 ~ 65,535 |
참조형 타입(Reference type)
- 기본형 타입을 제외한 타입들이 모두 참조형 타입(Reference type)이다.
- 빈 객체를 의미하는 Null이 존재한다.
- 값이 저장되어 있는 곳의 주소값을 저장하는 공간으로 힙(Heap) 메모리에 저장된다.
- 문법상으로는 에러가 없지만 실행시켰을 때 에러가 나는 런타임 에러가 발생한다. 예를 들어 객체나 배열을 Null 값으로 받으면 NullPointException이 발생하므로 변수값을 넣어야 한다.
타입 | 예시 | 기본값 | 할당되는 메모리 크기 |
배열(Array) | int[] arr = new int[5]; | Null | 4 byte (객체의 주소값) |
열거(Enumeration) | Null | ||
클래스(Class) | String str = "test"; Student sujin = new Student(); |
Null | |
인터페이스(Interface) | Null |
728x90
'JAVA' 카테고리의 다른 글
[JAVA] 클래스(Class), 객체(Object) (0) | 2022.07.06 |
---|---|
[JAVA] 추상화(Abstract) VS 인터페이스(Interface) (0) | 2022.07.06 |
[JAVA] 오버로딩(Overloading), 오버라이딩(Overriding) (0) | 2022.07.06 |
[JAVA] 매개변수(Parameter), 전달인자(Argument) (0) | 2022.07.06 |
[JAVA] String, StringBuffer, StringBuilder (0) | 2022.07.06 |
Comments