형 변환(type Conversion) 데이터타입을 필요에 따라서 변환 시키는 것을 의미한다.
자동형변환 = 자바는 형변환을 자동으로 처리해 주는데 이러한 전환작업을 자동(암시적) 형 변환(implicit Conversion)이라고 부른다.
<자동형변환 가능>
double a = 3.0F;
변수 - double형
상수 - float형
그러나 자동으로 자바가 상수를 double형으로 인식시켜준다.
float < double
<자동형변환 불가능>
float a = 3.0;
변수 - float형
상수 - double형
더 많은 데이터를 표현하는 double이라는 형을 더 적은 데이터를 표현하는 float으로 표현하게 될 땐 데이터 손실이 올 수 있기 때문에 이는 불가하다.
※ 자동형변환의 경우엔 더 많은 데이터를 표현할 수 있는 경우가 더 적은 표현 경우를 담는 것은 가능하지만 그 반대의 경우라면 불가하다.
암시적형변환(자동형변환) = 데이터의 손실이 없는 경우라면 자바 개발환경에서 자동으로 형을 변환시켜주는 것을 의미한다. 이와 반대되는 개념으로는 명시적형변환 즉, 사용자가 수동으로 형을 변환하는 방법이 있다.
float a = 100.0;
int b = 100.0F;
실수의 디폴터 값은 double형이기 때문에 데이터 포함크기가 float < double인 경우를 고려해서 자동형변환이 안 되게 되어서 에러가 뜨게 된다. 또한 아래는 정수형 변수와 실수형 상수이기 때문에 오류가 난다.
이런 경우 수동 형 변환을 해주어야 한다.
float a = (float)100.0;
int b = (int)100.0F
주의 !!! (int)100.1F를 넣게 된다면 100이 저장이 된다. 소숫점은 손실이 된다는 의미이다.
'Java' 카테고리의 다른 글
Java - 비교와 Boolean(부제: 조건문을 사용하기 전 비교와 Boolean을 알아보자) (0) | 2021.05.17 |
---|---|
Java - 연산자(부제: 연산자의 종류를 알아보고 어떻게 쓰이는지 알아보자) (0) | 2021.05.17 |
Java - 데이터 타입과 데이터 타입종류 (부제: 변수의 데이터 타입과 / 상수의 데이터 타입을 알아보자) (0) | 2021.05.14 |
Java - 주석과 세미콜론(부제: 주석과 세미콜론의 의미를 알아보고 사용법을 알아보자) (0) | 2021.05.14 |
Java - 디버거와 입출력(부제: 입출력 함수를 알아보고 인자와 매개변수사용방법을 알아보자/ 쉽게 public static void main(String[] args) 이해하자) (0) | 2021.05.06 |