JAVA(기본)

(JAVA) 형 변환(type casting)

mynote6676 2025. 4. 10. 13:44

형 변환(type casting) 이란?

형변환(type casting)은 프로그래밍에서 하나의 데이터 타입을 다른 데이터 타입으로 변환하는 과정을 말합니다. 형변환은 크게 두 가지 유형으로 나눌 수 있다 .--------->암시적 변환 명시적 변환으로 나눈다.

쉽게 설명하자면 암시적은 자동 형 변환이라고 생각하며 쉽고,

명시적은 강제 형 변환이라고 생각하면 좋다. 

 

 

 

 

 

package cho2;

/**
 * 형 변환이란?
 * 데이터의 타입을 다른 타입으로 변경하는것
 * 자동 형변환 , 강제 형 변환
 */

        public class TypeConversion {
         //코드의 진입점

        public static void main(String[] args) {
        // 1. 자동 형 변환 확인 하기
        int intDataBox = 50;
        System.out.println(intDataBox);
        // 자연스럽게 형 변환 (자동 형 변환) - 작은 상자에서 큰 상자로는 자동 형 변환 된다.
        double doubleDateBox = intDataBox;
        System.out.println(doubleDateBox);

        // 2. 강제 형변화 확인 하기
        final double PI = 3.14159;
        //int intBox = PI; // 컴파일 시점에 오류 발생

        // 개발자가 컴파일러에게 "컴파일러야 괜찮으니깐 그냥 넣어"
        // 데이터 손실이 발생 할 수 있지만 괜찮아!
        // 강제 형 변환
        int intBox = (int) PI;
        //데이터 손실이 발생 했다.(소수점을 그냥 버림)
        System.out.println(intBox);
        // intBox --->3

        //연습
        double interestRate;
        int discount;

        interestRate = 15.5;
        //4바이트 상자에 8바이트 상자를 넣을려고 하니깐 컴파일러가 이거 오류 발생해!
        discount = (int) interestRate;// 강제 형 변환
        System.out.println(discount);

        //응용
        System.out.println((int) 7.5); //강제 형 변환
        System.out.println((int) 0.1234);//강제 형 변환

        }// end of main
        } // end of class

 

 

 

 

연습하기

 

 

package execise;

public class TypeConversionExercises {
    public static void main(String[] args) {

        int a = 300;
        double b = a;//자동 형 변환 (작은 상자에서 큰 상자로 자연스럽게 들어 간다.// )
        // b를 콘솔에 출력한다면?
        System.out.println(b);

        //문제
        double c = 5.67;
        int d = (int)c;

        //문제
        float floatNum = 4.5f;
        int intNum = (int)floatNum;
        System.out.println(intNum);

        //문제
        double largeValue = 150.75;
        byte byteValue =(byte) largeValue;
        System.out.println(byteValue);

    }
}

'JAVA(기본)' 카테고리의 다른 글

(JAVA)연산자 (산술)  (0) 2025.04.10
(JAVA) 연산자(항, 대입, 부호)  (0) 2025.04.10
(JAVA) 상수(constant)  (0) 2025.04.10
(JAVA)데이터 타입이란?  (0) 2025.04.10
(JAVA)Intellij에서 사용한 java언어  (0) 2025.04.09