형변환(2)

이승민·2022년 11월 23일
0

Java의 정석

목록 보기
9/17

자동 형변환

서로 다른 타입간의 대입이나 연산을 할 때, 형변환으로 타입을 일치시키는 것이 원칙이다.
하지만, 경우에 따라 편의상의 이유로 형변환을 생략할 수 있다. 그렇다고 해서 형변환이
이루어지지 않는 것은 아니고, 컴파일러가 생략된 형변환을 자동적으로 추가한다.

float f = 1234; // float f = (float) 1234; 와 같다

int i = 3;
double d= 1.0 + i; //double d = 1.0 + (double) i와 같다.

이처럼 연산과정에서 자동적으로 발생하는 형변환을 산술 변환이라 한다.

자동 형변환의 규칙

컴파일러는 기존의 값을 최대한 보존할 수 있는 타입으로 자동 형변환한다.
표현범위가 좁은 타입에서 넓은 타입으로 형변환하는 경우에는 값 손실이 없으므로 표현범위가 더 넓은 쪽으로 형변환된다.

  • boolean을 제외한 나머지 7개의 기본형은 서로 형변환이 가능하다.
  • 기본형과 참조형은 서로 형변환 할 수 없다.
  • 서로 다른 타입의 변수간의 연산은 형변환을 하는 것이 원칙이지만, 값의 범위가 작은 타입에서 큰 타입으로의 형변환은 생략할 수 있다.
profile
💻 끊임없이 성장하는 백엔드 개발자 💻

0개의 댓글