Mingyu Kim

강제 타입 변환

허용 범위가 큰 타입을 작은 타입으로 강제로 나누어 저장하는 것

1. 기본 개념: 캐스팅 연산자 ()

작은 그릇에 큰 그릇의 데이터를 넣으려면 데이터 손실을 감수해야 하는데, 이때 사용하는 것이 캐스팅 연산자인 소괄호 ()다.

// 작은타입 변수 = (작은타입) 큰타입값;
int intValue = 129;
byte byteValue = (byte) intValue; // 강제 타입 변환

2. 주요 사례와 데이터 손실

1. int → byte:

2. 실수(double, float) → 정수(int, long):

double pi = 3.14;
int intPi = (int) pi; // intPi에는 3만 저장

3. int → char:

int code = 65;
char letter = (char) code; // 'A'

3. 강제 타입 변환 시 주의할 점 (안전 장치)

강제 타입 변환을 하기 전에는 값이 대상 타입의 범위 안에 있는지 먼저 확인하는 것이 좋다. 자바 21을 포함한 현대 자바 프로그래밍에서는 이런 잠재적 에러를 방지하기 위해 다음과 같은 체크를 권장한다.