[JAVA]3.변수의캐스팅

손영민's avatar
Feb 16, 2025
[JAVA]3.변수의캐스팅
💡
한 데이터 타입을 다른 데이터 타입으로 변환 (Type Casting)
타입 캐스팅은 서로 다른 데이터 타입 간의 변환을 의미합니다. Java에서는 주로 두 가지 유형의 캐스팅이 존재합니다: 암시적 캐스팅과 명시적 캐스팅입니다.
 

1. 기본형(Primitive) 타입 캐스팅

1) 암시적 캐스팅 (Implicit Casting / Widening Conversion)

  • 작은 타입 → 큰 타입으로 변환 시 자동으로 발생합니다.
  • 데이터 손실 없이 안전하게 변환됩니다.
  • 예시int → doublebyte → int
    • int n1 = 100; double d1 = n1; // 암시적 캐스팅 (int → double)
위의 코드에서 int형 변수 n1의 값이 double형 변수 d1에 안전하게 변환됩니

2) 명시적 캐스팅 (Explicit Casting / Narrowing Conversion)

  • 큰 타입 → 작은 타입으로 변환 시 강제로 수행해야 합니다.
  • 데이터 손실 가능성이 있어 (타입)을 명시해야 합니다.
  • 예시double → intlong → byte
    • double pi = 3.14; int intPi = (int) pi; // 명시적 캐스팅 (double → int → 결과: 3)
위의 코드에서 double형 변수 pi의 소수점 이하 부분이 버려지고 int형 변수 intPi에 저장됩니다.
 
변수 캐스팅 예제 코드 아래는 Java에서의 캐스팅을 보여주는 간단한 프로그램입니다:
package ex01; public class Var02 { public static void main(String[] args) { //1. 묵시적 형변환 (암시적 캐스팅) -> 업캐스팅 int n1 = 10; double n2 = 10.5; n2 = n1; System.out.println(n2); //2. 명시적 형변환 (강제로) -> 다운캐스팅 int n3 = 5; double n4 = 5.5; n3 = (int) n4; System.out.println(n3); } }
이 프로그램에서 n1은 double로 암시적으로 변환되고, n4는 int로 명시적으로 변환됩니다.
Share article

sson17