Java : 자동 형변환

커비·2024년 11월 1일
0

Java

목록 보기
21/55
post-thumbnail

📌 형변환

  • 작은 범위에서 큰 범위로는 당연히 값을 넣을 수 있다.
    - int > long > double
  • 큰 범위에서 작은 범위는 다음과 같은 문제가 발생할 수 있다
    - 소수점 버림
    - 오버플로우
public class Casting1 {
    public static void main(String[] args) {
        int intvalue = 10;
        long longvalue;
        double doublevalue;

        // int -> long
        longvalue = intvalue;
        System.out.println("LongValue = " + longvalue);

        // int -> double
        doublevalue = intvalue;
        System.out.println("DoubleValue = " + doublevalue);

        // long -> double
        doublevalue = 20L;
        System.out.println("DoubleValue2 = " + doublevalue);
    }
}

// 실행결과
LongValue = 10
DoubleValue = 10.0
DoubleValue2 = 20.0

📌 자동 형변환

위처럼 코드를 작성했지만, 결국 대입하는 형(타입)을 맞추어야 하기 때문에 개념적으로는 아래처럼 동작함 (Java는 같은 형끼리만 대입이 가능하기 때문에 자동으로 형변환을 함)

// intValue = 10
doubleValue = intValue

// 형 맞추기
doubleValue = (double) intValue

// 변수 값 읽기
doubleValue = (double) 10

// 형변환
doubleValue = 10.0 

이렇게 앞에 (double) 과 같이 적어주면 int 형이 double 형으로 형이 변환된다. (= 형변환)

작은 범위 숫자 타입에서 큰 범위 숫자 타입으로의 대입은 개발자가 직접 형변환을 하지 않아도 되는 이유는 이 과정이 자동으로 일어나기 때문에 자동 형변환 또는 묵시적 형변환이라고 한다.

profile
전공은 컴퓨터공학, 복수전공은 해킹보안학, 직장은 방학(파워 구직중)

0개의 댓글