Mingyu Kim

연산식에서 자동 타입 변환

여러 변수가 연산식(+, -, *, /)과 함께 사용될 때, 두 가지 주요 규칙에 따라 타입을 맞춘다.

1. 정수 타입 연산의 기본: int

정수 연산은 int 타입이 기본이다. CPU가 4바이트(32비트) 단위로 처리하는 것이 가장 빠르기 때문이다.

byte x = 10;
byte y = 20;
// byte result = x + y; // 컴파일 에러! (x + y의 결과는 int 타입)
int result = x + y;

Tip: 만약 결과값을 꼭 byte에 담아야 한다면 강제 타입 변환((byte)(x + y))이 필요하다.

2. 데이터 타입이 서로 다르면 “큰 쪽으로 맞춤”

int intVal = 10;
double doubleVal = 5.5;
double result = intVal + doubleVal; // 10.0 + 5.5 = 15.5

3. 가장 많이 실수하는 “정수 나눗셈”

정수끼리의 나눗셈 결과는 항상 정수다.

int x = 1;
int y = 2;
double result = x / y;
System.out.println(result); // 0.5가 아니라 0.0이 출력됨! (1/2의 결과인 0이 double로 변환됨)

해결책: 피연산자 중 하나를 실수로 강제 변환해야 한다.

4. String (문자열) 결합 연산

+ 연산자에서 피연산자 중 하나가 문자열이면, 나머지 하나도 문자열로 자동 변환되어 결합된다.