언어(Language)/Java

[Java] 자바의 데이터 타입과 리터럴의 개념 정리

잇트루 2022. 9. 4. 19:02
반응형

데이터 타입이란? (Data type)

자바에서 데이터 타입(자료형, Data type)은 어떤 값의 유형을 뜻한다. 데이터 타입에 따라 값이 차지하는 메모리 공간의 크기와, 값이 저장되는 방식이 결정된다. 데이터 타입은 자료형이라고도 한다.

 

기본 타입과 참조 타입

자바의 데이터 타입은 실제 값을 의미하는 기본 타입(Primitive type)과 어떤 값이 저장된 주소를 값으로 갖는 참조 타입(Reference type)이 존재한다.

 

기본 타입(Primitive type)

값을 저장할 때, 데이터의 실제 값이 저장된다. 기본 타입에는 정수형(byte, short, int, long), 실수형(float, double), 문자형(char), 논리형(boolean) 등이 있다.

 

참조 타입(Reference type)

값을 저장할 때, 데이터가 저장된 위치를 나타내는 주소 값이 저장된다. 객체의 주소를 저장하며 기본형을 제외한 나머지 타입을 뜻한다.

 

기본 타입과 참조 타입의 차이

기본 타입은 실제 값이 저장되고, 참조 타입은 값이 저장된 위치를 나타내는 주소 값이 저장된다.

public class TypeEx {
    public static void main(String[] args) {
        int primitive = 1;
        Object reference = new Object();

        System.out.println(primitive);
        System.out.println(reference);
    }
}

위 코드를 실행할 경우 primitive는 1을 출력하지만, reference의 경우 메모리의 주소를 값으로 출력한다.

 

리터럴이란? (Literal)

리터럴(Literal)의 사전적 의미는 ‘문자 그대로의’라는 뜻을 가진다. 자바에서 리터럴이란 문자가 가리키는 값 그 자체를 의미한다.

int num;
num = 1;

다음과 같은 코드가 있을 때, 변수 num을 초기화한 값 1이 바로 리터럴이다.

값이라는 표현도 많이 하지만, 정확한 용어 사용을 위해 리터럴이라고 표현하는 것을 추천한다.

 

리터럴은 변수 또는 상수에 할당할 수 있다.

// 정수형 리터럴 28을 정수형 변수 myAge에 할당
int myAge = 28;

// 실수형 리터럴 3.14159를 실수형 변수 pi에 할당
double pi = 3.14159;

// 논리형 리터럴 true를 논리형 변수 boolean에 할당
boolean result = true;

// 문자형 리터럴 'a'를 문자형 변수 smallAlphabet에 할당
char smallAlphabet = 'a';

// 문자열 리터럴 "hello Java!"를 문자열 타입 변수 hello에 할당
String hello = "hello Java!";
반응형