목차
1. 형 변환이란?
📌형변환
값의 자료형을 다른 자료형으로 바꾸는 것
- 예를 들어, int 값을 double로 바꾸거나, double 값을 int로 바꾸는 것
- 크기가 다른 자료형 사이에서 데이터 이동 시 자주 사용됨
📌형변환 종류
| 구분 | 설명 | 예시 |
| 자동 형 변환 | 작은 → 큰 자료형 | int → long, int → double |
| 강제 형 변환 | 큰 → 작은 자료형 | (int) 3.14 → 3 |
2. 자동 형 변환 (묵시적 변환)

작은 자료형 → 큰 자료형으로 변환할 때는 자동으로 변환해 줍니다.
컴파일러가 자동으로 수행해주는 타입 변환이다. 데이터 손실 가능성이 없는 경우 자동으로 타입을 맞춰준다.
- char 타입은 양수만 사용 int는 양수/음수 사용 ( char이 더 작은 자료형)
- long 타입이 float보다 정확도가 낮음 (long이 더 작은 자료형)
| 변환 방향 | 예시 |
| byte → short → int → long → float → double | int num = 10; double d = num; |
이 과정을 통해 데이터 손실 없이 값이 안전하게 담깁니다.
3. 강제 형 변환 (명시적 변환)
큰 자료형 → 작은 자료형으로 변환할 때는 명시적으로 형 변환을 지정해야 합니다.
형변환(casting) 연산자를 이용한 강제적으로 수행하는 형변환이다.
자동형변환의 조건과 정 반대인 경우 강제 형변환을 사용한다.
double pi = 3.14;
int intPi = (int) pi;
- intPi에는 3만 저장되고 .14는 잘려나갑니다.
- 이런 데이터 손실 가능성이 있어 자바는 자동으로 해주지 않음
4. 주의사항
✅ 데이터 손실 주의
- 강제 형 변환 시 정밀도(소수점), 범위(최대/최소값) 문제가 생길 수 있음

✅ boolean은 형 변환 불가
- boolean은 어떤 자료형으로도 변환할 수 없습니다.
- true, false는 숫자가 아니기 때문입니다
마무리
다음 게시글에서는 오버플로우와 언더플로우에 대해 학습하겠습니다.
'study > Programming' 카테고리의 다른 글
| [JAVA 기초] 상수(final) (1) | 2025.04.11 |
|---|---|
| [JAVA 기초] 오버플로우와 언더플로우 (1) | 2025.04.10 |
| [JAVA 기초] 변수의 명명 규칙 (1) | 2025.04.08 |
| [JAVA 기초] 참조형 변수란? (1) | 2025.04.07 |
| [JAVA 기초] 기본 자료형 (0) | 2025.04.06 |