IMG-LOGO
공지사항 :

자바(Java)의 데이터 타입(Data Type)

lmkfox - 2025-06-20 06:29:19 27 Views 0 Comment

1. 자바의 데이터 타입 분류

자바의 데이터 타입은 크게 두 가지로 나뉩니다.

  1. 기본형(Primitive Type)

  2. 참조형(Reference Type)


2. 기본형(Primitive Types)

기본형 타입은 자바에서 가장 단순한 데이터 저장 단위입니다. 메모리에 값 자체를 저장합니다.

분류

타입

크기 (비트)

기본값

설명

정수형

byte

8

0

-128 ~ 127 범위

short

16

0

-32,768 ~ 32,767

int

32

0

일반적인 정수 사용 시

long

64

0L

큰 범위의 정수

실수형

float

32

0.0f

소수점 사용, 단정도

double

64

0.0

기본 실수형, 배정도

문자형

char

16

‘\u0000’

유니코드 문자 한 개

논리형

boolean

1 (JVM 구현에 따라 다름)

false

참/거짓

예시

int age = 25;
double height = 172.5;
char grade = 'A';
boolean isAdult = true;


3. 참조형(Reference Types)

참조형은 **객체의 주소(참조값)**를 저장하며, 객체의 실제 데이터는 힙 메모리에 저장됩니다.

대표적인 참조형 타입

  • String

  • 배열 (int[], String[] 등)

  • 사용자 정의 클래스 (Student, Car 등)

  • Interface, Enum, List, Map, Set 등 컬렉션

예시

String name = "홍길동";
int[] scores = {90, 85, 100};
Student student = new Student();

참조형은 모두 null로 초기화될 수 있습니다.


4. 기본형 vs 참조형 차이

구분

기본형

참조형

저장 내용

실제 값

객체 주소 (참조값)

메모리 위치

스택

스택에 주소, 힙에 실제 객체

초기값

숫자: 0, 불린: false 등

null

동등 비교

값 자체 비교 (==)

주소 비교 (==), 값 비교는 .equals()


5. 형 변환(Type Casting)

자동 형 변환 (묵시적)

작은 타입 → 큰 타입은 자동으로 변환됩니다.

int num = 10;
double d = num;  // int → double 자동 변환

강제 형 변환 (명시적)

큰 타입 → 작은 타입은 명시적으로 변환해야 하며, 데이터 손실 가능성이 있습니다.

double pi = 3.14;
int n = (int) pi;  // 결과: 3


6. 

var

 키워드 (Java 10 이상)

타입을 생략하고 컴파일러에게 추론하도록 하는 문법입니다. 지역 변수에만 사용 가능합니다.

var name = "홍길동";  // 컴파일 시 String으로 추론
var score = 95;      // int로 추론

하지만 타입 명시가 없으므로 가독성이 떨어질 수 있어, 명확한 경우에만 사용하는 것이 좋습니다.


7. Wrapper 클래스

기본형은 객체가 아니기 때문에, 객체처럼 사용하기 위해 자바는 각 기본형에 대응되는 Wrapper 클래스를 제공합니다.

기본형

Wrapper 클래스

byte

Byte

short

Short

int

Integer

long

Long

float

Float

double

Double

char

Character

boolean

Boolean

Wrapper 클래스는 null 저장이 가능하며, 컬렉션과 함께 자주 사용됩니다.


결론 요약

  • 자바는 정적 타입 언어로서, 타입 선언이 필수이다.

  • 기본형은 값을 직접 저장하고, 참조형은 객체의 주소를 저장한다.

  • 기본형은 성능이 좋고, 참조형은 유연한 데이터 구조를 다룰 수 있다.

  • Wrapper 클래스와 형 변환은 다양한 상황에서 필수적인 개념이다.


댓글