[Java]

형변환 [casting]

cr.kl_ 2024. 8. 19. 15:42

형변환?

변수 or 상수의 타입을 변환 시켜주는 것

 

(type)피연산자

boolean을 제외한 나머지 기본형 타입들은 형변환 가능

기본형과 참조형 사이의 형변화는 불가능

자동 & 강제 형변화 두가지 존재

 

자동 형변환

  • 서로 다른 타입간의 대입 or 연산 시 형변환으로 타입을 일치시키는 것이 원칙
  • 자바 컴파일러가 자동 형변환을 해주어 생략 가능
    - 화살표 방향으로 자동 형변환이 일어나며
    - 반대 방향으로는 '강제' 형변환 필요
    - 정수형이 값의 크기가 더 클 수 있으므로 오차가 발생할 수 있다.

 

강제 형변환

  • 큰 데이터 타입 -> 작은 데이터 타입 = 데이터 손실 발생할 가능성 有
  • 데이터 손실 -> 정확한 연산 수행X 
  • '주의해서' 형변화

형변화 하는 변수에 ()를 이용해 타입을 적어 준다. byte 값의 범위에 있는 10은 손실X / 범위를 넘긴 경우 손실

  • 실수형 간의 형변환

범위 내 값에서 강제 형변환 시 데이터의 손실 無! float의 최소 값 보다 작은 경우 0, 최대 값 보다 클 경우 infinity, 범위 내 값이 더라도 소수점 아래의 값에서 정밀도 차이가 난다!

  • 정수형 ↔️ 실수형 변환

실수형 ➡️ 정수형 = 소수점 이하 값은 버려진다.

'[Java]' 카테고리의 다른 글

자바 입력 [Scanner]  (0) 2024.08.21
출력문 [println, printf]  (0) 2024.08.19
문자열 [String]  (0) 2024.08.14
문자형 [char]  (0) 2024.08.14
데이터 타입  (0) 2024.08.14