Backend/JAVA-자바
JAVA 2-1. 자료형 변환
사랑짱
2021. 5. 20. 08:09
◆ 타입변환
데이터의 타입을 다른 타입으로 변환하는 것
1. 묵시적 형 변환(자동타입변환) - Promtion
- 컴파일러가 자동으로 실행한다.
- 바이트 크기가 작은 자료형에서 큰 자료형으로 저장될 때 발생
- 값의 허용범위가 작은 자료형이 허용범위가 큰 자료형으로 저장될 때 발생
- 서로 다른 타입 간 연산 시에도 자동 형 변환 발생
- 정보의 손실이 발생하지 않는다.
<허용범위 순서>
byte < short < int < long < float < double < 참조타입
※ char 타입의 경우 음수가 포함되지 않기 때문에 변환되지 않음.
2. 명시적 형 변환(강제타입변환) - Casting
- 큰 허용 범위 타입을 작은 허용 범위 타입으로 강제로 나눠서 저장하는 것
- 타입의 크기가 작기 때문에 데이터 공간에 따라 정보의 유실이 발생할 수 있다.
<예시>
double num1 = 3.14;
int num2 = (int) num1; // 3 저장
※ 강제 타입변환이 생기는 것은 결국 코드를 잘못 만든 것이다.
Casting이 없는 것이 좋은 코드이다!!
<참고> Overflow / Underflow
- Overflow : 변수가 저장가능한 최대값을 초과하는 경우
- Underflow : 변수가 저장가능한 최소값을 초과하는 경우
=> Overflow / Underflow가 발생하면 쓰레기 값이 생긴다!!
따라서, Wrapper type class 메소드로 최대값과 최소값을 체크하자!! (EX. MAX_VALUE, MIN_VALUE )
3. 문자열을 기본 자료형으로 변환