오늘은 2장의 마지막인 형 변환과 연습문제를 푸는 날.
형 변환은 묵시적 변환과 명시적 변환이 있다.
> 형 변환의 기본 원칙은
1.바이트 크기가 작은 자료형에서 큰 자료형으로 형 변환은 자동으로 이루어진다.
2.덜 정밀한 자료형에서 더 정밀한 자료형으로 형 변환은 자동으로 이루어진다.
1번은 1바이트→2바이트→4바이트→8바이트 와 같이 크기가 작은 자료형에서 큰 자료형으로 변환될 때이고
2번은 정수에서 실수로 덜 정밀한 자료형에서 더 정밀한 자료형으로 변환될 때이다.
이 순서대로 변환된다면 프로그래머가 따로 설정해주지 않아도 된다.
하지만 반대로 크기가 큰 자료형에서 작은 자료형의로 변환될 경우와 더 정밀한 자료형에서 덜 정밀한 자료형으로 변환될 때에는 프로그래머가 명시적으로 써 주어야 한다.
ex) int iNum = 10;
byte bNum = (byte)iNUM;
명시적 형 변환은 자료 손실이 발생할 가능성이 있다.
연산 중 형 변환은 연산 중에 명시적으로 형 변환을 하는 것으로 같은 연산이라도 형 변환이 언제 이루어졌는지에 따라 그 결과 값이 다르게 나타날 수 있다.
그리고 연습 문제를 풀어봤는데 책을 보면서 따라할 때는 쉬워보였던 것도 스스로 하려니 쉽지 않았다. 막상 풀이를 보니 어처구니 없을 정도로 작은 실수였지만 앞으로는 좀 더 문제를 풀어보면서 이런 실수도 줄여나가고 싶다.
그리고 예제를 따라하던 과정 중에 코딩을 하고 실행했을때 결과값이 두번째줄과 세번째줄이 한 줄에 나왔는데 왜 그렇게 됐는지 모르겠다. 아예 다시 해보니 제대로 나오긴 했지만...