728x90
기본 타입 변환
@2024.03.12
이번엔 타입 변환에 대해서 알아보려고 한다.
나중에 객체, 인터페이스 형 변환에서 근간이 되는 개념을 정리해 보겠다.
타입 크기 비교
💡
byte(1) → short(2) → int(4) → long(8) → float(4) → double(8)
- 왜 long 보다 float가 더 크다고 할까?
- 실수 저장 > 정수 저장
자동 타입 변환 = 묵시적 타입 변환
💡
프로그램 실행 도중에 자동으로 타입 변환이 일어나는 것
@기본 형태
큰 크기 타입 변수 = 작은 크기 타입 변수
@기본 형태
큰 크기 타입 변수 = 작은 크기 타입 변수
- 작은 크기를 가지는 타입이 큰 크기를 가지는 타입에 저장될 때 발생
- byte, char, short는 int로 변환 된 후 연산이 수행되고, 연산 결과는 int
- 피 연산자 하나가 long 타입이면 long으로 자동 형 변환, 연산 결과는 long
- 피연산자 중에 실수 리터럴이나, double 타입이 있다면 double로 자동 형 변환,
연산 결과 double
강제 타입 변환 = 명시적 타입 변환
💡
캐스팅 연산자
@기본 형태
작은 크기 타입 변수 = (작은 크기 타입) 큰 크기 타입 변수
()
를 사용하여 큰 타입을 작은 타입으로 변환하는 것 @기본 형태
작은 크기 타입 변수 = (작은 크기 타입) 큰 크기 타입 변수
- 컴파일러는 그릇의 크기만 본다!
- 주의
- 오버플로우에 주의해야 한다
→ 값의 허용 범위를 초과하는 경우 발생
- 실수에서 정수로 형 변환 시 값의 손실에 주의해야 한다.
→ 정수는 소수점 이하의 값을 표현할 수 없다
- 오버플로우에 주의해야 한다
728x90