개발/Java

Java에서의 형변환: Type Casting

ju_ni_ 2023. 7. 12. 15:54
반응형

Java 프로그래밍에서는 때때로 데이터 타입을 변환해야 할 필요가 있습니다. 예를 들어, 두 피연산자가 다른 데이터 타입일 때 연산을 수행하거나, 특정 메소드가 특정 타입의 인수를 필요로 할 때 등이 이에 해당합니다. 이 때 사용하는 기술이 바로 '형변환' 혹은 '타입 캐스팅'입니다.

 

형변환에는 크게 두 가지 형태가 있습니다: 자동 형변환(묵시적 형변환)과 강제 형변환(명시적 형변환)입니다. 이번 포스트에서는 이 두 가지 방법에 대해 자세히 알아보도록 하겠습니다.

 

자동 형변환

자동 형변환은 이름에서 알 수 있듯이 Java 컴파일러가 자동으로 수행하는 형변환입니다. 이 형변환이 발생하는 경우는 주로 더 큰 데이터 타입으로 작은 데이터 타입이 변환될 때입니다. 예를 들어, 정수형(int) 데이터와 실수형(double) 데이터가 함께 연산될 경우, 정수형 데이터가 실수형으로 자동 변환됩니다.

int myInt = 10;
double myDouble = myInt + 1.1;
System.out.println(myDouble); // 출력: 11.1

위의 예제에서 볼 수 있듯이, myInt 변수는 1.1과 더해지는 과정에서 실수형으로 자동 변환되었습니다.

 

또한, 문자형(char) 데이터와 정수형 데이터가 함께 연산될 경우, 문자형 데이터는 해당하는 ASCII 코드 값으로 자동 변환됩니다.

char myChar = 'A';
int myInt = myChar + 1;
System.out.println(myInt); // 출력: 66

 

강제 형변환

자동 형변환과 반대로, 강제 형변환은 개발자가 직접 명시하여 데이터 타입을 변환하는 방법입니다. 이는 데이터의 손실이 발생할 수 있으므로 주의해야 합니다. 예를 들어, 실수형을 정수형으로 변환하면 소수점 이하의 값이 삭제됩니다.

double myDouble = 3.14;
int myInt = (int) myDouble;
System.out.println(myInt); // 출력: 3

위 예제에서 보듯, myDouble 변수를 정수형으로 변환하면 소수점 이하의 값이 삭제되고, 정수 부분만 남습니다.

 

이처럼 형변환은 데이터 타입의 특성을 이해하고 올바르게 사용하는 데 중요한 역할을 합니다. 특히, 강제 형변환은 데이터 손실을 일으킬 수 있으므로 주의깊게 사용해야 합니다. 그래서 가능하면 자동 형변환을 이용하고, 필요한 경우에만 강제 형변환을 사용하는 것이 좋습니다.

반응형