본문 바로가기
쿤즈 Dev/Java

[Java] 형 변환(Type Conversion)의 사용법과 주의점

by Koonz:) 2023. 8. 10.
728x90

프로그래밍을 하다 보면 꼭 발생하는 상황이 바로 형 변환(Type conversion)이다. 기본타입인 primitive type과 개발자가 만든 class type 모두 형변환이 가능하다.

이번 포스팅에서는 형변환에 대해서 알아보고 주의할 점 역시 무엇이 있는지 알아보자.


형 변환의 종류

자바에서 형 변환은 데이터 타입을 다른 데이터 타입으로 변환하는 과정을 말한다. 프로그래밍에서 데이터는 다양한 형식으로 표현되며, 때로는 이러한 데이터 타입 간의 변환이 필요하다. 이를 위해 자바는 두 가지 유형의 형 변환을 지원한다.


암시적 형 변환 (Implicit Casting) 또는 자동 형 변환

  • 작은 데이터 타입에서 큰 데이터 타입으로 변환될 때 발생하게 된다.
  • 상대적으로 덜 정밀한 데이터를 더 정밀한 데이터로 변환하는 경우이며, 정보의 손실이 발생하지 않는다.
  • 예를 들어, 'int'를 'double'로 형 변환하는 것이 암시적 형 변환이다.
int x = 5;
double y = x; // 암시적 형 변환

명시적 형 변환 (Explicit Casting) 또는 강제 형 변환

  • 큰 데이터 타입에서 작은 데이터 타입으로 변환될 때 발생하며, 이 경우 데이터 손실의 가능성이 있다. 따라서 개발자가 명시적으로 변환을 지시해야 한다.
  • 형 변환 연상자 '(타입)'을 사용하여 수행된다.
  • 예를들어서, 'double'을 'int'로 형 변환하는 것이 명시적 형 변환이다.
double a = 3.14;
int b = (int) a; // 명시적 형 변환

형 변환시 주의사항

  • 명시적 형 변환은 데이터 손실의 가능성이 있으므로 조심히 사용해야 한다.
  • 큰 범위의 데이터 타입에서 작은 범위의 데이터 타입으로 변환될 때, 데이터 오버플로우 또는 언더플로우가 발생할 수 있다.
  • 실수를 정수로 변환할 때는 소수점 이하의 값이 버려지며, 반올림이 아닌 버림이 수행된다.
double c = 9.8;
int d = (int) c; // 9.8의 소수점 이하 값이 버려지고 d는 9가 된다.

형 변환은 프로그래밈에서 자주 사용되는 중요한 개념 중 하나이다. 타입 변환의 올바른 사용은 프로그램의 동작과 성능에 영향을 줄 수 있다. 주의 깊게 고려하여 사용하고 데이터 손실의 가능성을 고려해야 한다.

 

댓글