형 변환(Casting)은 변수의 자료형을 다른 자료형으로 변경하는 것을 의미합니다. Java에서는 형 변환을 두 가지 방식으로 구분할 수 있습니다.
형 변환 종류 | 형 변환 방식 | 자동 형 변환 여부 | 설명 |
---|---|---|---|
다운캐스팅(DownCasting) | 명시적(Explicit) | ❌ | 큰 자료형 → 작은 자료형 (데이터 손실 가능) |
업캐스팅(UpCasting) | 묵시적(Implicit) | ✅ | 작은 자료형 → 큰 자료형 (데이터 손실 없음) |
큰 데이터를 작은 자료형에 넣어야 할 경우 강제로 형 변환을 수행해야 합니다. 이 과정에서 데이터 손실이 발생할 수 있습니다.
public class CastingExample {
public static void main(String[] args) {
double bigBox = 10.111;
int smallBox = (int) bigBox; // ✅ 명시적 변환 (강제 형 변환)
System.out.println(smallBox); // ✅ 출력: 10 (데이터 손실 발생)
}
}
(int)
와 같이 자료형을 직접 명시해야 함)작은 데이터를 더 큰 자료형에 저장하는 경우 문제가 발생하지 않으므로 자동으로 변환됩니다. 이 과정에서 데이터 손실이 발생하지 않습니다.
public class CastingExample {
public static void main(String[] args) {
int smallBox = 10;
double bigBox = smallBox; // ✅ 묵시적 변환 (자동 형 변환)
System.out.println(bigBox); // ✅ 출력: 10.0 (데이터 손실 없음)
}
}
Java에서 형 변환은 기본적으로 자동(업캐스팅)과 명시적(다운캐스팅)으로 나뉩니다.
형 변환 개념을 잘 이해하면 Java 프로그래밍에서 데이터 타입을 더욱 유연하게 다룰 수 있습니다! 😊