본문 바로가기

Com/Java

[Java] 연산에서 형변환 / Casting

이번에는 Java 에서 산술연산시에 형변환(Casting)에 대해 살펴보겠습니다.

다음 코드를 컴파일 하면 어떻게 될까요?

public class Casting {
    public static void main(String[] args){
        short a=1;
        short b=2;
        short c=a+b;
    }
}

 

}

이 코드를 컴파일하면 에러가 발생하게 되는데 그 이유는 정수형(short, long, byte) 변수를 연산하게 되면 자동으로 int 형으로 형변환이 발생하기 때문입니다. a+b 가 int 형으로 변환되고 int 형을 short 형 변수에 저장하려고 하기 때문에 에러가 발생합니다. 똑같이 변수 앞에 -를 붙여줘서 음수형으로 변환해도 데이터형이 int 형으로 변환됩니다.