자바의 자료형

Jeong Gyejin·2023년 2월 22일
0

JAVA

목록 보기
3/18

자바의 자료형이란?

자바의 자료형은 크게 기본형(primitive type)과 참조형(reference type)으로 나눌 수 있습니다.

기본형

기본형은 다음과 같은 특징이 있습니다.

  • 기본 자료형은 반듯시 사용하기 전에 선언이 되어야 합니다.
  • OS에 따라 자료형의 길이가 변하지 않습니다.
  • 객체가 아니기 때문에 null을 가질 수 없습니다.
  • 자바 기본 자료형의 크기와 범위는 아래와 같습니다.
타입설명크기(bit)범위
char16비트 유니코드(Unicode) 문자 데이터16‘\u0000’ ~ ‘\uFFFF’
boolean참/거짓 값8true 또는 false
byte부호를 가진 8비트 정수8-128 ~ +127
short부호를 가진 16비트 정수16-32,768 ~ +32,767
int부호를 가진 32비트 정수32-2,147,483,638~+2,147,483,647
long부호를 가진 64비트 정수64-9223372036854775808~+9223372036854775807
float부호를 가진 32비트 부동 소수점32-3.402932347e+38~+3.40292347e+38
double부호를 가진 64비트 부동 소수점64-179769313486231570e+308~1.79769313486231570e+08
  • 문자형: char
  • 논리형: boolean
  • 정수형: byte, short, int, long
  • 부동 소수점형: float, double

BigInteger

long 타입을 사용을 한다면 가장 큰값은 9223372036854775807입니다. 그렇기 때문에 이보다 정말 큰 숫자가 필요하다면 BigInteger을 사용해야 합니다.
BigInteger는 일반적인 오퍼레이터 연산자는 사용할 수 없고, .add(), .subtract(), .multiply(), .divide() 메소드가 제공이 되고, 매개변수 또한 BigInteger를 받습니다.

참조형

참조형은 기본형을 제외한 모든 타입으로, 기본적으로 java.lang.Object를 상속 받습니다. class, String, interface, array, EnumType, map, hash등이 여기에 속합니다.

기본적으로 기본형은 stack 영역에 저장이 되지만 참조형은 stack 영역에 메모리 주소를 저장하며, heap 영역에 실제 값을 저장한다는 특징을 가지고 있습니다.

타입변환

데이터 타입을 다른 데이터 타입으로 변환하는 것을 말합니다.

자동 타입변환

말 그래도 자동으로 타입변환이 일어나는 것을 의미합니다. 자동 타입 변환은 값의 허용범위가 작은 타입이 허용 범위가 큰 타입으로 저장될 때 발생합니다.

byte < short < int < long < float < double

강제 타입변환

큰 허용 범위 타입은 작은 허용 범위 타입으로 자동 타입 변환될 수 없습니다.
마치 큰 그릇에 가득 채운 물을 작은 그릇 안에 모두 넣을 수 없는 것과 동일한 이치입니다. 하지만 큰 그릇의 물을 작은 그릇 크기로 나눠서 한 부분만 작은 그릇에 넣은 것은 가능합니다.
이와 같이 큰 허용 범위 타입을 작은 허용 범위 타입으로 강제로 나눠서 저장하는 것을 강제 타입 변환(캐스팅:casting)이라고 합니다.

profile
항상 더 나은 개발자가 되기 위해서 끊임없이 공부하고 학습하면서 성장하는 사람이 되겠습니다.

0개의 댓글