도찐개찐

[JAVA] 데이터 타입(Primitive type, Reference type) 본문

JAVA

[JAVA] 데이터 타입(Primitive type, Reference type)

도개진 2022. 7. 6. 09:54

기본 타입 : 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

 

출처 : https://gbsb.tistory.com/6

728x90
Comments