저번 포스팅에서 배웠던 내용 복습하기)
- 데이터의 크기
# byte(1) < short(2) < int(4) < long(8) < float(4) < double(8)
+) int a = 1;
Byte b = 2;
B= (byte)a;
Short(2)와 char(2)는 2로 같지만 형이 달라서 강제적으로 캐스팅을 걸어줘야 한다.
실제로의 종류는 총 9개 (바이트의 순서는 작은 것에서부터 큰 것으로)
Byte short int long float double Boolean char String
(빨간색으로 칠해진 것을 중점으로 외우고, 나머지를 추가적으로 암기하기 시작하면 좋다)
추가적으로 float은 4 바이트인데 왜 long보다 크냐!
그 이유는 정수보다는 실수가 소숫점 단위로 표현 할 수 있는 수가 많기 때문입니다.
데이터 형 변환 (Type Casting)
형 변환은 크게 2가지의 유형이 있습니다.
자동 형 변환 / 명시적 형 변환 입니다.
자동 형변환의 포인트!
자동 형 변환의 원칙은 표현범위가 좁은 데이터 타입에서
넓은 데이터 타입으로의 변환만 허용된다는 것이다.
한마디로 박스안에 딱 맞는 내용물을 예시로 들어보겠습니다.
byte 라는 박스의 내용물은 더 큰 short 박스에 들어갈 수 있지만,
short 박스의 내용물은 더 작은 byte 박스에 들어갈 수 없는 것입니다.
자동 형변환의 예시를 들어봅시다!
명시적 형변환은 큰 데이터 유형 -> 작은 데이터 유형 형변환이 이루어집니다.
명시적 형변환이 필요한 이유는 위에 박스로 들었던 예시와 같이,
큰 박스에 들어있는 내용물을 작은 박스에 넣기 위해서,
그 작은 박스 크기에 맞춰서 내용물을 맞게 잘라내기 위함입니다.
실질적인 사유는, 명시적 형변환 해야되는 아이들을, 자동 형변환을 해버리면, 데이터가 손실 될 수 있기 때문입니다.
위 사진 제일 아래쪽 부분 //예외인 경우를 확인 해봐야합니다.
같은 2byte의 유형이지만, char는 양수만 표현이 가능하며, short는 음수와 양수 둘다 표현하기 때문에
저 두 경우에도 명시적 형변환을 해주어야 합니다.
우선 기본 형변환 완료!
'수업 복습하기 > Java' 카테고리의 다른 글
Day 02 - 단항연산자(Unary Operator) (0) | 2021.08.17 |
---|---|
Day 02 - 형 변환 (Type Casting) 02 (0) | 2021.08.17 |
Day 02 - 기본적인 이진수 및 데이터 타입 & 크기 알아보기 (0) | 2021.08.16 |
Day 01 - 변수 선언 후 출력하기 (0) | 2021.08.16 |
Day 01 - 이클립스 내보내기, 가져오기 (0) | 2021.08.12 |