'
본문 바로가기
study/Programming

[JAVA 기초] 형 변환 (Casting)

by meowdule 2025. 4. 9.

 

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