상세 컨텐츠

본문 제목

JAVA 2-1. 자료형 변환

Backend/JAVA-자바

by 사랑짱 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. 문자열을 기본 자료형으로 변환

 

 

 

관련글 더보기