All About IT
[Java 기초] 자동형변환과 강제형변환의 원리와 차이점
안녕하세요~
이번 시간에는 자바의 형변환인 자동형변환과 강제형변환에 대해 알아보려고 하는데요.
종류에 따라 어떻게 달라지는지 살펴볼까요?
형변환의 여러가지 종류들
package day20;
public class 형변환 {
public static void main(String[] args) {
byte a = 12;
short b = a;
int c = b;
long d = c;
int num1 = 34;
double dNum = num1;
double num2 = 5.67;
int iNum = (int)num2;
char ch = 'A';
int cNum = ch;
System.out.println("longNumber : " + d);
System.out.println("doubleNumber : " + dNum);
System.out.println("intNumber : " + iNum);
System.out.println("charNumber : " + cNum);
}
}
자료형의 크기 순으로 자동형변환, 역순으로 강제형변환을 사용하는 코드.
오늘의 핵심 키워드
- 자동형변환은 작은 범위의 타입을 큰 타입으로 넣을 때 실행된다.
- 반대로 큰 범위의 타입을 작은 타입으로 넣을 때는 강제형변환을 사용한다.
- 문자형(char)은 정수 타입인 int로 자동형변환이 가능하다.
⇨ 값은 12로 동일하고 자료형의 크기가 1 byte, 2 byte, 4 byte, 8 byte 순으로 증가
⇨ *int 타입은 정수, double 타입은 실수를 저장*
34를 double로 저장하면 34.0으로 자동형변환 5.67을 int로 저장할 때는 강제형변환으로 5 저장
⇨ 문자 'A'는 ASCII(아스키코드) 기준으로 정수 65로 자동형변환
꼭 봐야되는 마무리 꿀팁
- 큰 범위의 타입을 작은 범위의 타입에 넣을 때는 강제형변환 사용하기!
- 문자형 char는 int 자동형변환으로 정수로 표현할 수 있다!
▲ 영상으로 한번 더 복습하세요 :)