[JAVA] Casting - 형 변환

노성빈·2024년 2월 23일

JAVA

목록 보기
2/11

형 변환?

💡 값의 타입을 다른 타입으로 변환하는 것이다.

형 변환의 종류

  • 자동 형 변환과 강제 형변환이 있다.

자동 형 변환

  • 묵시적 형 변환 이라고도 부른다.
  • 작은 타입의 데이터가 큰 타입에 저장되는 경우 발생한다.

강제 형 변환

  • 큰 타입의 데이터가 작은 타입에 저장되는 경우 발생한다.
  • 데이터 손실 가능성 때문에 실수 방지를 위해 명시적으로 변환해줘야 한다.

예시

double c = 14.6;
int d = (int)c; //강제 형변환

자동 형변환 가능 방향

작은 데이터가 더 큰 타입으로 변환할 때만 자동 형변환이 가능하다.

8byte long 보다 4byte float가 더 큰 이유

의문점

자바에서는 작은 타입의 데이터가 큰 타입에 저장될 때 자동 형 변환이 일어난다고 했다.
하지만 8byte인 long인 데이터가 4byte인 float에 들어갈 때 자동 형변환이 일어난다고 한다.

이유

대부분의 프로그래밍에서는 소수를 표현할 때 부동 소수점 방식을 사용한다.
그래서 long은 -2^63~(2^63-1)만큼 표현이 가능하지만, float는 1.4×10^-45 ~ 3.4×10^38 만큼 표현이 가능하다

0개의 댓글