Study

java: incompatible types: possible lossy conversion from double to int

_유니 2023. 5. 8. 13:26
public class Casting {

    public static void main(String[] args) {
        double doubleValue = 1.5;
        int intValue = 0;

        intValue = doubleValue; // 컴파일 오류 발생
    }
}

java: incompatible types: possible lossy conversion from double to int

java: 호환되지 않는 유형: double에서 int로의 가능한 손실 변환

 

 

int 형은 double 형보다 숫자의 표현 범위가 작다. 그리고 실수를 표현할 수도 없다.

따라서 이 경우 숫자가 손실되는 문제가 발생할 수 있다.

쉽게 이야기해서 큰 컵에 담긴 물을 작은 컵에 옮겨 담으려고 하니, 손실이 발생할 수 있다는 것이다.

이런 문제는 매우 큰 버그를 유발할 수 있다.

예를 들어서 은행 프로그램이 고객에게 은행 이자를 게산해서 입금해야 하는데

만약 이런 코드가 아무런 오류 없이 수행된다면 끔찍한 문제를 만들 수 있다.

그래서 자바는 이런 경우 컴파일 오류를 발생시킨다.