포스트

자바의 형변환 - Java Casting

자바의 형변환 - Java Casting

1. 자동 형변환 ( Implicit Casting / Widening Conversion )

  • 작은 크기의 데이터 타입이 큰 크기의 데이터 타입으로 변환될 때는 별도의 명시 없이 자동으로 이루어진다.
아래 캡처 참고
이미지테스트설명 이미지테스트설명
왼쪽에서 더 큰 타입으로의 캐스팅은 묵시적으로 성공 했지만 더 작은 타입으로 시도한 오른쪽은 실패 한 모습
이미지테스트설명
실수형도 마찬가지다.



2. 강제 형변환 ( Explicit Casting / Narrowing Conversion )

  • 큰 크기의 데이터 타입을 작은 크기의 데이터 타입으로 변환할 때는 명시적으로 캐스팅 연산자를 사용해야 한다.
  • 데이터 손실이 발생할 수 있으므로 주의해야 한다.
아래 코드 참고
1
2
3
4
5
6
7
//엉뚱한 값이 나옴
int in2 = 50000;
short sh2 = (short) in2;
System.out.println(sh2); // = -15536
long ln1 = 12081732509L;
int in1 = (int) ln1;
System.out.println(in1); // = -803169379
정수 타입을 더 작은 타입으로 강제 캐스팅


1
2
3
long ln2 = 1560000000l;
float ft3 = ln2;
System.out.println(ft3);// = 1.56E9 1.56 곱하기 10의 9승 이다 라고 나옴
정수를 실수 타입으로 강제 캐스팅


1
2
3
4
//소수점 그냥 없애버림
double db3 = 123.98765;
int in3 = (int) db3;
System.out.println(in3);
실수를 정수 타입으로 강제 캐스팅


이 작성글은 저작권자의 CC BY 4.0 라이센스를 따릅니다.