본문 바로가기

old/Programming

자바의 Primitive 데이터 타입과 Reference 데이터 타입

반응형

기본형 타입(Primitive type)

  • 총 8가지의 기본형 타입(Primitive type)을 미리 정의하여 제공한다.
  • 기본값이 있기 때문에 Null이 존재하지 않는다.
  • 실제 값을 저장하는 공간으로 스택(Stack) 메모리에 저장된다.
  • String은 object이다. primitive type이 아니다.
테이터 타입 이름 할당 메모리 bit 기본값 데이터 범위 데이터 숫자 범위
boolean 1 byte 1 bit false true, false true,false
byte 1 byte 8 bit 0 -128 ~ 127 $-2^{7}$~ $(2^{7}-1)$
short 2 byte 16 bit 0 -32,768 ~ 32,767 $-2^{15}$~ $(2^{15}-1)$
int 4 byte 32 bit 0 -2,147,483,648 ~ 2,147,483,647 $-2^{31}$~ $(2^{31}-1)$
long 8 byte 64 bit 0L -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 $-2^{63}$~ $(2^{63}-1)$
float 4 byte 32 bit 0.0F 0.000...0034 ~ 3400...000 $3.4 \cdot 10^{-38}$ ~ $3.4 \cdot 10^{38}$
double 8 byte 64 bit 0 0.00000000...00017 ~ 17000...000000000 $1.7 \cdot 10^{-308}$~$1.7 \cdot 10^{308}$
char 2 byte 16 bit '\u0000' 0~65,535 $0$ ~ $(2^{16}-1)$

참조형 타입(Reference type)

  • 기본형 타입을 제외한 타입들이 모두 참조형 타입(Reference type)이다.
  • 빈 객체를 의미하는 Null이 존재한다.
  • 값이 저장되어 있는 곳의 주소값을 저장하는 공간으로 힙(Heap) 메모리에 저장된다.
  • 문법상으로는 에러가 없지만 실행시켰을 때 에러가 나는 런타임 에러가 발생한다. 예를 들어 객체나 배열을 Null 값으로 받으면 NullPointException이 발생하므로 변수값을 넣어야 한다.
타입 할당 메모리 기본값
배열(Array) 4 byte (주소값) NULL
열거(Enumeration) 4 byte (주소값) NULL
클래스(Class) 4 byte (주소값) NULL
인터페이스(Interface) 4 byte (주소값) NULL

 

반응형