자바 자료형의 유형


자바에서 사용하는 자료형(Data Type)에 대해서 알아보도록 하겠습니다.


자료형이란?

"프로그램을 실행하지 않고도 결정할 수 있는 프로그램의 특성"이라고 정의할 수 있습니다.

자료형을 통해 데이터의 속성을 정의하고 사용자와 컴퓨터는

데이터가 어떤 자료를 가지고 있는지 알 수 있습니다.


자료형은 기본 자료형 / 참조 자료형 두가지로 나눠집니다.

간단하게 설명하면 기본자료형이 아닌 자료형은 모두 참조자료형입니다.

그림을 그려보자면 아래와 같이 생겼습니다.


자료형 분류

기본자료형만 먼저 알면 참조자료형은 구분할 수 있겠죠?

그럼 기본자료형을 알아보도록 합시다.

기본자료형에는 논리형 / 문자형 / 숫자형(정수형, 실수형)이 있습니다.


논리형은 참(true) 또는 거짓(false) 값을 저장할때 사용됩니다.

문자형(char)은 character(문자)의 약자로 문자를 저장할 때 사용합니다.

숫자형은 정수 또는 실수의 값을 저장할 때 사용합니다.


 구분

 키워드

크기

기본값

범위 

 논리형

 boolean

 1bit

 false

 true 또는 false

 문자형

 char

 2byte

 \u0000

 0~65,535 (유니코드 데이터)

 정수형

 byte

 1byte

 0 -128~127

 short

 2byte

 0 -32768~32767

 int

 4byte

 0 -2147483648~2147483647

 long

 8byte

 0 -9223372036854775808~9223372036854775807

 실수형

 float

 4byte

 0.0 1.4E-45 ~ 3.4028235E38

 double

 8byte 0.0 4.9E-324~1.7976931348623157E308


위의 표는 자료형의 크기와 범위를 나타낸 표입니다.

int와 double에 색을 넣은 이유는 각 자료형의 기본값이기 때문입니다.

int와 double값이 왜 기본값인지 간단한 예제를 통해 알아보겠습니다.


정수형 자료의 기본값


아직 배우지 않은 문법들이 나왔지만 간단하게 설명하면

Object자료형 num변수에 0 값을 저장하고

저장된 값의 자료형을 출력하는 예제입니다.

0을 대입했을 때는 INTEGER라고 출력되는 것을 볼 수 있습니다.

변수에 저장하려는 정수형 숫자가

int의 범위를 넘어가는 숫자인 경우에는 꼭 L을 붙여야합니다.

Object num = 0L 또는 0l(소문자 L); 


실수형 자료의 기본값


0.0은 실수형의 기본자료형인 double 값으로 인식되는 것을 볼 수 있습니다.

실수형의 경우에도 float형으로 인식하게 하려면

Object num = 0F 또는 0f;

형식으로 선언해야합니다.


마지막으로 기본자료형과 참조자료형의

차이점에 대해서 한번 알아보도록 하겠습니다.

기본자료형과 참조자료형의 중요한 차이는

메모리에 어떤 형식으로 저장되느냐의 차이입니다.


기본자료형의 경우에는 메모리에 값이 저장되고, 

참조자료형에는 주소값이 저장됩니다.

그림과 함께 설명해보도록 하겠습니다.

자세히 파고들면 메모리의 영역까지 파고 들어야하기 때문에

간단한 형식으로 설명하겠습니다.

일단 기본자료형입니다.


int a = 1;

기본자료형 메모리 할당


int a라는 변수를 선언하게 되면 a라는 변수는 메모리에 공간을 받게됩니다.

(실제로 저렇게 저장되지는 않지만 개념적으로 그린 그림입니다.)

위에 그림에서는 0x0002라는 공간을 할당받았다고 칩시다.

그리고 a 변수에 1이라는 값을 저장하면 0x0002에는 1의 값이 저장됩니다.

그럼 a의 값을 사용하면 1의 값을 바로 가지고 올 수 있겠죠?


String a = "TEST";

참조자료형 메모리 할당


String a라는 변수를 선언했습니다.

String은 문자열을 저장할 수 있는 참조자료형이면서 특이한 자료형이지만

여기선 일단 넘어가겠습니다.

a를 선언하면 a는 역시 메모리에 공간을 할당받게 됩니다.

그러나, 저장값은 "TEST"가 아닌 0x0006의 주소가 저장됩니다.

그리고 0x0006이라는 공간에 "TEST"라는 문자열이 저장되어있게 되죠.

실제로는 저장영역이 다르지만 일단 개념만 알아두고 갑시다.


여기서 알아야할 내용은

기본자료형은 메모리에 값이 저장되고

참조자료형은 메모리에 주소값이 저장된다는 것만 알면 됩니다.


이번글에서는 기본자료형에 대해서 알아봤습닌다.

길게 주르륵 써놨지만 이 글에서 알아둬야할 내용은

기본자료형 8가지와 기본자료형과 참조자료형의 차이정도만 알면

충분합니다. 이번글은 여기서 마치도록 하겠습니다.

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기