[java] 데이터 타입 간의 형변환

자바에서는 데이터 타입 간의 형변환이 필요한 경우가 종종 있습니다. 이는 변수나 상수의 데이터 타입을 다른 데이터 타입으로 변환하는 과정을 의미합니다. 데이터 타입 간의 형변환에는 묵시적 형변환과 명시적 형변환이 있습니다.

묵시적 형변환 (Implicit Casting)

묵시적 형변환은 작은 데이터 타입을 큰 데이터 타입으로 자동 변환하는 것을 말합니다. 이 경우 데이터 손실이 없으므로 별도의 형변환 연산자를 사용할 필요가 없습니다.

예를 들어, int 타입 변수를 long 타입 변수로 대입하는 경우에는 묵시적 형변환이 발생합니다.

int number = 10;
long bigNumber = number;

이처럼 작은 데이터 타입에서 큰 데이터 타입으로의 변환은 자동으로 이루어집니다.

명시적 형변환 (Explicit Casting)

명시적 형변환은 큰 데이터 타입을 작은 데이터 타입으로 변환하는 것을 말합니다. 이 경우 데이터 손실이 발생할 수 있으므로 형변환 연산자인 (타입)을 사용하여 명시적으로 형변환을 해주어야 합니다.

예를 들어, double 타입을 int 타입으로 변환하는 경우에는 명시적 형변환이 발생합니다.

double number = 3.14;
int integer = (int) number;

이처럼 큰 데이터 타입에서 작은 데이터 타입으로의 변환은 정확한 데이터 손실을 감안해야 합니다.

형변환 주의점

형변환을 사용할 때는 몇 가지 주의할 점이 있습니다.

  1. 데이터 손실: 큰 데이터 타입에서 작은 데이터 타입으로 형변환할 때는 데이터 손실이 발생할 수 있습니다. 따라서 이를 고려해야 합니다.
  2. 범위 초과: 작은 데이터 타입에서 큰 데이터 타입으로 형변환할 때는 범위 초과로 인한 문제가 발생하지 않는지 확인해야 합니다.
  3. 클래스 간 형변환: 기본 데이터 타입 뿐만 아니라 클래스 간에도 형변환이 가능합니다. 이 경우에는 상속 관계에 있는 클래스들끼리만 가능하므로 주의가 필요합니다.

참고 자료