연산 등을 목적으로 서로 다른 타입을 가진 값의 자료형을 변환하는 것
1. 형 변환
1.1 형 변환
- boolean을 제외한 다른 자료형끼리 변환이 가능하다.
- 소수형의 값을 정수형으로 형 변환할 경우 소수점 부분의 값은 내림되어 계산된다.
- [ 기본 자료형 → 참조 자료형 ] 혹은 [ 참조 자료형 → 기본 자료형 ]의 변환은 되지 않는다.
1.2 형 변환의 종류
크기가 작은 자료형에서 큰 자료형으로 갈 때(ex. int→long)는 변환 중 문제될 것이 없으므로 따로 해줄 것이 없다. (묵시적 형변환)
하지만 크기가 큰 자료형에서 크기가 작은 자료형으로 갈 때(ex. long → int)는 범위 밖의 값이 저장될 위험이 있으므로 자바가 자동으로 자료형을 바꿔주지 않는다. 사용자가 직접 범위가 작은 타입을 앞에 명시해주어야 한다. (명시적 형변환)
byteValue = (byte)shortValue;
shortValue의 값을 short보다 범위가 작은 자료형인 byte 타입에 넣기 위해 명시적 형변환을 한 예시이다.
연산하는 값이 모두 정수형인 경우, 연산의 결과가 실수형이더라도 자바는 연산 결과의 정수값만 표시한다.
int intValue1 = 5;
int intValue2 = 10;
double result = intValue1/intValue2; // 0.0
위 연산의 결과는 0.5 이지만 두 값이 모두 정수형이므로 0이 연산의 결과로 도출되고, double형 변수 result에는 0.0으로 저장된다.
참고
- 자바의 신 Vol.1 기초 문법편 5장
'Language > Java' 카테고리의 다른 글
[Java] 자료형 (Data type) (1) | 2023.12.27 |
---|---|
[Java] 변수(Variables) (0) | 2023.12.21 |
[Java] 클래스와 객체(Class and Object) (0) | 2023.12.21 |