산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> java

Java 타입 캐스팅 마스터하기: 자동 형변환부터 명시적 형변환까지

Java 타입 캐스팅

이 가이드는 Java 타입 캐스팅을 해설하며, 주요 형태를 다루고 각각을 명확한 예제로 설명합니다.

Java 타입 캐스팅에 들어가기 전에 Java의 데이터 타입을 이해하고 있는지 확인하세요.


타입 캐스팅

한 데이터 타입(int, float, double 등)의 값을 다른 타입으로 변환하는 과정을 타입 캐스팅이라 합니다.

Java는 13가지 변환 유형을 제공하지만, 이 튜토리얼은 두 가지 핵심 범주에 집중합니다:

  1. 자동 형변환 (Widening Type Casting)
  2. 명시적 형변환 (Narrowing Type Casting)

포괄적인 목록은 Java 공식 타입 변환 문서를 참조하세요.


자동 형변환 (Widening Type Casting)

자동 형변환에서 Java는 더 작은 프리미티브를 더 큰 것으로 자동 승격시켜 데이터 손실이 없도록 합니다.

예제: int를 double로 변환

class Main {
    public static void main(String[] args) {
        int num = 10;
        System.out.println("The integer value: " + num);
        double data = num;
        System.out.println("The double value: " + data);
    }
}

실행 결과

The integer value: 10
The double value: 10.0

이는 int 변수가 할당 전 double로 승격되는 방식을 보여줍니다. 이 변환의 자동적 특성 때문에 암시적 타입 캐스팅이라고도 합니다.

참고: 자동 형변환은 안전하며 컴파일러에 의해 수행됩니다.


명시적 형변환 (Narrowing Type Casting)

명시적 형변환에서는 괄호를 사용하여 더 큰 프리미티브를 더 작은 것으로 명시적으로 캐스팅해야 합니다.

예제: double을 int로 변환

class Main {
    public static void main(String[] args) {
        double num = 10.99;
        System.out.println("The double value: " + num);
        int data = (int)num;
        System.out.println("The integer value: " + data);
    }
}

실행 결과

The double value: 10.99
The integer value: 10

(int) 캐스팅은 소수 부분을 잘라내며, 이 변환이 명시적 타입 캐스팅으로 간주되고 데이터 손실을 초래할 수 있는 이유를 보여줍니다.

참고: Java는 자동으로 명시적 형변환을 수행하지 않습니다.


아래는 프리미티브와 문자열 간의 실용적 변환들입니다.

예제 1: int를 String으로

class Main {
    public static void main(String[] args) {
        int num = 10;
        System.out.println("The integer value is: " + num);
        String data = String.valueOf(num);
        System.out.println("The string value is: " + data);
    }
}

실행 결과

The integer value is: 10
The string value is: 10

여기서 String.valueOf()는 정수를 텍스트 표현으로 변환합니다.


예제 2: String을 int로

class Main {
    public static void main(String[] args) {
        String data = "10";
        System.out.println("The string value is: " + data);
        int num = Integer.parseInt(data);
        System.out.println("The integer value is: " + num);
    }
}

실행 결과

The string value is: 10
The integer value is: 10

파싱은 Integer.parseInt()에 의존합니다. 문자열을 파싱할 수 없으면 NumberFormatException이 발생합니다.

참고: 런타임 예외를 피하기 위해 입력을 검증하세요.

java

  1. 파이썬 타입 변환 & 캐스팅 마스터하기: 종합 가이드
  2. Java 기본 데이터 타입: 8가지 타입 완벽 가이드와 예제
  3. Java 연산자 마스터하기: 종류, 문법, 실전 예제
  4. Java 주석: 종류, 사용법, 모범 사례
  5. Java 향상된 for 루프(for-each) 완벽 가이드: 문법, 예제, 비교
  6. Java 인터페이스 마스터: 개념, 구현, 모범 사례
  7. Java 캡슐화 마스터: 데이터 은닉 실전 가이드
  8. Java Try-with-Resources 마스터: 자동 리소스 관리 완전 해설
  9. Java 애너테이션 완전 해설: 종류, 배치 위치, 실전 예제
  10. Java 타입 캐스팅 마스터하기: 자동 형변환부터 명시적 형변환까지