타입(Data 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
2018. 1. 7. 22:32