[java] 자동 형변환과 강제 형변환

자바 프로그래밍에서는 변수의 데이터 타입이 다른 경우에 형변환을 사용할 수 있습니다. 자동 형변환과 강제 형변환은 이러한 형변환을 수행하는 방법 중 두 가지입니다.

자동 형변환 (Automatic Type Conversion)

자동 형변환은 작은 데이터 타입에서 큰 데이터 타입으로 자동으로 형변환되는 것을 말합니다. 이는 데이터의 손실이 없는 경우에 한해 가능합니다. 예를 들어, int 타입의 값을 long 타입의 변수에 할당하는 경우 자동 형변환이 발생합니다.

int num = 10;
long bigNum = num; // 자동 형변환 발생

위의 예시에서 int 타입인 num 변수의 값을 long 타입인 bigNum 변수에 할당하고 있습니다. int 타입보다 long 타입이 큰 범위를 가지므로 자동 형변환이 일어납니다.

강제 형변환 (Explicit Type Conversion)

강제 형변환은 큰 데이터 타입에서 작은 데이터 타입으로 형변환하기 위해 명시적으로 형변환 연산자를 사용하는 것을 말합니다. 이는 자동 형변환이 일어나지 않는 경우에 사용됩니다. 예를 들어, double 타입의 값을 int 타입의 변수에 할당하는 경우 강제 형변환이 필요합니다.

double num = 3.14;
int integerNum = (int) num; // 강제 형변환

위의 예시에서 double 타입인 num 값을 int 타입인 integerNum 변수에 할당하고 있습니다. double 타입의 데이터는 정수형으로 변환될 때 소수 부분이 손실되므로 강제 형변환을 사용하여 명시적으로 형변환을 수행해주어야 합니다. 형변환 연산자 (int)를 사용하여 num 값을 int 타입으로 변환합니다.

요약

자바에서는 자동 형변환과 강제 형변환을 통해 데이터 타입의 변환을 유연하게 할 수 있습니다.