기본형 타입의 형 변환을 알려주고자 한다.
형 변환이란 말 그대로 기본형 타입을 변환해주는 것이다. 말로 설명하기보다는 예제를 통해 알아보자
int i = (int)1.234;
double d = 1;
System.out.println(i);
System.out.println(d);
i를 출력하면 "1"이 출력된다 왜 그럴까?
그 이유는 int타입은 정수를 담기 때문이다. 소수점 뒤에 숫자는 다 없어진다.
더 자세한 이유는 int타입은 4byte 실수를 저장하는 double타입은 8byte이다 즉 8byte의 값을 4byte에 넣으려고 하니 다 못 들어가서
없어져 버린다고 생각하면 이해하기 쉽다.
반대로 d를 출력하면 값이 어떻게 나올까?
d는 1.0이 나온다. 왜 이건 없어지지 않고. 0이 생겨난 걸까? 이유는 4 type를 작은 바이트 단위를 큰 바이트에 담아서 그런 것이다
위에 예제처럼 (int)를 써서 나타내 준 것을 명시적 형 변환이라고 하고
double타입도 보이지 않을 뿐이지 이클립스에서 자동으로 형 변환해준 거라고 생각하시면 된다.
다음은 아스키코드이다.
int i = 'A';
System.out.println(i);
이 예제를 출력하면 어떤 것이 나올 것 같은가
출력하면 65가 나온다 아니 이게 무슨 말인가
분명 'A'를 초기화했는데 이유는 바로 int타입으로 저장했기 때문이다.
'A'는 숫자 즉 아스키코드로 65를 나타낸다 알파벳들이 다 숫자로 되어있다.
표를 넣어놨으니 참고하시길 바란다.
외울 필요는 없고 그냥 참고만 하면 된다. 모르면은 그때 그때 찾아서 보면 되니까 구글도 개발에 일부라고 한다.
