728x90
반응형
형변환이란, 변수 또는 상수의 타입을 다른 타입으로 변환하는 것
( 타입 ) 피연산자
ex ) double d = 85.4;
int score = ( int ) d; // int score = 85;
자동 형 변환
형 변환을 하는 이유는 서로 다른 두 타입을 일치시키기 위함이다.
형 변환을 생략하면 컴파일러가 알아서 기존의 값을 최대한 보존할 수 있는 타입으로 자동 형 변환을 한다.
표현 범위가 좁은 타입에서 넓은 타입으로 형 변환하는 경우에는 값 손실이 없으므로 둘 중에 표현 범위가 넓은 쪽으로 형변환 된다.
long 형은 8byte고 float는 4byte이지만 표현범위는 float이 더 넓어서 ( long형은 10^19 < float형은 10^38 )
long형에서 float형으로 자동 형변환이 가능하다.
- 타입은 표현범위가 더 좁아도 해당 타입의 범위 내의 값이면 값 손실이 없으므로 컴파일러가 자동으로 형변환 해준다.
ex) byte b = 100; // 100이 int 형이지만 byte의 값의 범위 ( -128 ~ 127 ) 안에 100이 포함되므로 자동 컴파일 가능.
- 값 손실이 일어나는 경우에는 반드시 ( 타입 )을 써주어 수동형변환 해주어야 한다.
728x90
반응형
'JAVA' 카테고리의 다른 글
println 과 printf (0) | 2022.02.09 |
---|---|
타입 간의 변환 방법 (0) | 2022.02.08 |
변수 ( Variable ) (0) | 2022.02.08 |
자바의 특징 (0) | 2022.02.07 |
[JAVA] Calendar 클래스 (0) | 2022.02.05 |