형변환 (Casting)
값(Data)의 자료형을 바꾸는 것 (boolean 제외)
컴퓨터의 값 처리 원칙
- 같은 종류 자료형만 대입 가능
- 같은 종류 자료형만 계산 가능
- 계산의 결과도 같은 종류의 값이 나와야 함
=> 이러한 원칙이 지켜지지 않은 경우에 형변환이 필요함
[표현법]
자료형 변수명 = (바꿀 자료형) 값;
자동 형변환
컴파일러가 자동으로 값의 범위가 작은 자료형을 값의 범위가 큰 자료형으로 변환
- int(4byte) => double(8byte)
- int(4byte) => long(8byte)
- float(4byte) => double(8byte)
* 특이 케이스
- long(8byte) => float(4byte)
float형이 실수형이기 때문에 long형보다 표현 가능한 수의 범위가 더 커서 자동 형변환이 된다
- Char(2byte) <=> int(4byte)
각 문자들마다 고유한 숫자가 지정되어 있기 때문에 쌍방향으로 형변환이 가능하다
- byte 또는 short 간의 연산
byte나 short는 연산 시 무조건 int형으로 처리한다
ex) int a = 12;
double d = 3.3;
double result = a + d;
* 단, byte와 short 자료형 값의 계산 결과는 무조건 int로 처리한다
강제 형변환
값의 범위가 큰 자료형을 값의 범위가 작은 자료형으로 변환
강제 형변환 시 데이터 손실이 발생할 수 있음 -> 데이터의 변형, 손실을 감수하고 강제 변환
ex) double temp;
int name = (int)temp;
데이터 손실
'Study' 카테고리의 다른 글
[JAVA/자바] 제어문 - 조건문 / 반복문 / 분기문 (0) | 2022.10.26 |
---|---|
[JAVA/자바] 연산자 (Operator) 종류와 우선 순위 (0) | 2022.10.21 |
[JAVA/자바] 자바11 설치 / 환경 변수 설정 (0) | 2022.10.20 |
[JAVA/자바] Scanner / 스캐너 (0) | 2022.10.20 |
[JAVA/자바] 출력 메소드 printf (0) | 2022.10.20 |