Java 캐스팅(Casting) - 형 변환

습토리·2025년 2월 24일
0

Java

목록 보기
16/32

형 변환(Casting) - 자료형을 변경할 수 있을까?

형 변환이란?

형 변환(Casting)은 변수의 자료형을 다른 자료형으로 변경하는 것을 의미합니다. Java에서는 형 변환을 두 가지 방식으로 구분할 수 있습니다.

  • 업캐스팅(UpCasting): 작은 자료형 → 큰 자료형 (묵시적 형 변환, 자동 변환 - 큰 상자로 가니까 굳이 수동으로 바꿀 필요가 없음)
  • 다운캐스팅(DownCasting): 큰 자료형 → 작은 자료형 (명시적 형 변환, 강제 변환)

형 변환의 종류

형 변환 종류형 변환 방식자동 형 변환 여부설명
다운캐스팅(DownCasting)명시적(Explicit)큰 자료형 → 작은 자료형 (데이터 손실 가능)
업캐스팅(UpCasting)묵시적(Implicit)작은 자료형 → 큰 자료형 (데이터 손실 없음)

다운캐스팅(DownCasting) - 명시적 형 변환

큰 데이터를 작은 자료형에 넣어야 할 경우 강제로 형 변환을 수행해야 합니다. 이 과정에서 데이터 손실이 발생할 수 있습니다.

public class CastingExample {
    public static void main(String[] args) {
        double bigBox = 10.111;
        int smallBox = (int) bigBox;  // ✅ 명시적 변환 (강제 형 변환)
        
        System.out.println(smallBox); // ✅ 출력: 10 (데이터 손실 발생)
    }
}

다운캐스팅 특징

  • 더 큰 자료형을 더 작은 자료형으로 변환할 때 사용
  • 명시적 형 변환이 필요 ((int) 와 같이 자료형을 직접 명시해야 함)
  • 소수점 이하 값이 제거되는 등 데이터 손실이 발생할 수 있음

업캐스팅(UpCasting) - 묵시적 형 변환

작은 데이터를 더 큰 자료형에 저장하는 경우 문제가 발생하지 않으므로 자동으로 변환됩니다. 이 과정에서 데이터 손실이 발생하지 않습니다.

public class CastingExample {
    public static void main(String[] args) {
        int smallBox = 10;
        double bigBox = smallBox;  // ✅ 묵시적 변환 (자동 형 변환)
        
        System.out.println(bigBox); // ✅ 출력: 10.0 (데이터 손실 없음)
    }
}

업캐스팅 특징

  • 작은 자료형을 큰 자료형으로 변환할 때 사용
  • 묵시적 형 변환이므로 별도의 변환 작업이 필요 없음
  • 데이터 손실이 발생하지 않음

마무리

Java에서 형 변환은 기본적으로 자동(업캐스팅)과 명시적(다운캐스팅)으로 나뉩니다.

  • 업캐스팅(작은 → 큰)은 자동으로 이루어지며 데이터 손실이 없습니다.
  • 다운캐스팅(큰 → 작은)은 명시적으로 변환해야 하며, 데이터 손실이 발생할 수 있습니다.

형 변환 개념을 잘 이해하면 Java 프로그래밍에서 데이터 타입을 더욱 유연하게 다룰 수 있습니다! 😊

profile
재미난 삶을 살다

0개의 댓글