자동 타입 변환
1. 작은 타입은 큰 타입으로 자동 변환 된다.
- 컴파일러에 의해 이루어짐.
2. 치환문(=)이나 수식 내에서 타입이 일치하지 않을 때
long m = 25; // 25는 int 타입이다. 25가 long 타입으로 자동 변환되는 사례
int 타입인 25가 -> long 타입으로 자동 변환 된다.
int는 4바이트, long은 8 바이트이므로 자동 변환.
double d = 3.14 * 10;
실수 연산을 하기 위해 10이 10.0의 double 타입으로 자동 변환되는 경우이다.
다른 피연산자 3.14가 실수 double 타입이기 때문에 상위 타입에 맞추어 변환되었다.
강제 타입 변환
1. 자동 타입 변환이 안 되는 경우: 큰 타입이 작은 타입으로 변환할 때
int n = 300;
byte b = n; // 컴파일 오류. 4byte인 int 타입은 byte로 자동 변환 될 수 없다.
2. 강제 타입 변환은 개발자의 필요에 의해 강제로 타입 변환을 지시하는 것이다.
* 강제 변환은 값 손실의 우려가 있다.
byte b = (byte)n;
double d = 1.9;
int n = (int)d; // n = 1 , 강제 타입 변환으로 소수점 이하 0.9 손실
'LANGUAGE > Java' 카테고리의 다른 글
[Java / 2. 조건문과 반복문 ] 1. 세 가지 제어 구조 (0) | 2021.03.27 |
---|---|
[Java] 1-6. 입력 System.in (0) | 2021.03.26 |
[Java] 1-4. 상수의 선언 (0) | 2021.03.26 |
[Java] 1-3. 정수, 실수, 문자, 문자열 (String) 리터럴(Literal) (0) | 2021.03.26 |
[Java] 1-2. Java 의 데이터 타입 (0) | 2021.03.26 |