JAVA의 자동형 변환과 강제형 변환

이승우·2023년 6월 11일

JAVA

목록 보기
5/14
post-thumbnail

자동형 변환 (Automatic Type Conversion):

자동형 변환은 자바에서 더 작은 데이터형에서 더 큰 데이터형으로 값이 자동으로 변환되는 것을 말합니다. 이는 데이터의 손실이 없는 범위 내에서 발생하며, 컴파일러가 자동으로 처리합니다. 자동형 변환은 데이터형의 크기와 정밀도에 따라 이루어집니다.

자동형 변환의 규칙:

  • 작은 크기의 데이터형에서 큰 크기의 데이터형으로는 자동 변환이 이루어집니다. 예를 들어, byte에서 int로, int에서 long으로의 변환은 자동으로 처리됩니다.
  • 정수형은 실수형으로 자동 변환이 가능합니다. 예를 들어, int에서 double로의 변환은 자동으로 처리됩니다.
  • 실수형에서 정수형으로의 자동 변환은 불가능합니다.

예시:

int x = 5;
long y = x; // int에서 long으로 자동 형 변환

강제형 변환 (Explicit Type Casting):

강제형 변환은 데이터형을 명시적으로 변환하는 것을 말합니다. 강제형 변환은 명시적으로 형 변환 연산자인 괄호 "()"를 사용하여 원하는 데이터형을 지정합니다. 이는 컴파일러에게 변환을 강제로 지시하는 역할을 합니다.

강제형 변환의 규칙:

  • 큰 크기의 데이터형에서 작은 크기의 데이터형으로 변환할 때는 데이터의 손실이 발생할 수 있으므로 명시적인 형 변환을 해야 합니다.
  • 강제형 변환은 변환하려는 데이터형을 괄호 안에 명시합니다. 이때, 데이터의 손실이 발생할 수 있으므로 주의해야 합니다.
  • 강제형 변환은 컴파일 시점에 발생하며, 실행 시점에서 형 변환이 이루어집니다.

예시:

double pi = 3.14;
int approxPi = (int) pi; // double을 int로 강제 형 변환
System.out.println(approxPi); // 출력: 3 (정수 부분만 남음)

강제형 변환은 데이터의 손실이 발생할 수 있으므로 주의해야 합니다.
데이터의 유효성과 의도에 따라 올바른 형 변환을 선택해야 합니다.

profile
🧑🏻‍💻

0개의 댓글