Dev/Language

[Language] Type Conversion에 대한 개념 정리

friendshipkim97 2022. 1. 5. 19:22

Type Conversion

Type Conversion이란 타입 변환이다. 타입 변환의 종류에는 표현 범위가 더 넓은 쪽으로 변환하는 상향 변환인 확장 변환, 확장 변환의 반대로 표현 범위가 더 작은 자료형으로 반환하는 축소 변환이 있다. Java에서 자동 형변환은 거의 대부분 확장 변환이다.

확장 변환 예시

double y = 99; // 99.0

java 확장 변환 순서

byte(1) < short(2) < int(4) < long(8)

float(4) < double(8)

축소 변환 예시

int 상수를 byte, short에 대입할 때 정보 손실이 없으면 자동으로 변환한다.   

byte b = 123; // 축소 변환

short s = 456; // 축소 변환 

형변환 연산자 사용 예시

수식의 의해 계산된 값을 명시된 자료형의 값으로 변환할 때 정보 손실이 발생할 수 있고 이 때 사용되는 연산자를 타입 캐스팅 연산자, 혹은 캐스트라고 한다.

byte b2 = (byte) 456; // 캐스팅: 정보 손실

short s2 = (short) b2; // 캐스팅: 정보 손실 없음

int i2 = (int) 3.14; // 캐스팅: 정보 손실