1일1복습

[자바] 데이터 타입 - 기본형/참조형

nayeonee__ 2024. 5. 10. 20:12

타입이란?

  • 해당 데이터가 메모리에 어떻게 저장되고, 프로그램에서 어떻게 처리되어야 하는지를 명시적으로 알려주는 것
  • 자바에는 크게 기본형 타입과 참조형 타입이 있다.

 

기본형 타입(Primitive type)

  • 총 8개의 타입이 존재
  • 자바에서 미리 형식을 정의하여 제공
  • 기본값이 존재하기 때문에 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)

  • 기본형 타입을 제외한 모든 타입
  • 기본형 타입과 달리 빈 객체를 의미하는 Null 개념이 존재
  • 값이 저장되어 있는 곳의 주소값을 저장하는 공간
  • 힙(Heap)메모리에 저장
  • 문법상으로 에러가 없지만, 실행시 에러가 나는 런타임 에러가 발생
    • 예를 들어 객체나 배열을 Null 값으로 받으면 NullPointException 에러가 발생하므로 그에 대한 Null 처리를 하는 등의 조치가 필요

 

타입 예시 기본값 할당되는 메모리 크기
배열(Array) String[] str = new String[5]; Null 4 byte (객체의 주소값)
열거(Enumeration)   Null
클래스(Class) String str = “test”;
Student nayeon = new Student();
Null
인터페이스(Interface)   Null

 

 

 

참고 블로그

https://devpad.tistory.com/57

'1일1복습' 카테고리의 다른 글

[자바] JVM 이란  (0) 2024.05.14
[디자인 패턴] MVC 패턴  (0) 2024.05.13
[Git] git 영역과 상태 용어 정리  (0) 2024.05.12
[자바] 접근제어자  (0) 2024.05.11
[네트워크] GET 과 POST 요청의 차이  (0) 2024.05.09