Mingyu Kim

대입 연산자

모든 연산자 중에서 우선순위가 가장 낮기 때문에 모든 계산이 끝난 후 마지막에 수행된다.

1. 대입 연산자의 종류

종류 연산자 예시 동일한 표현
단순 대입 = a = 10 a = 10
복합 대입 +=, -= a += 5 a = a + 5
  *=, /=, %= a *= 3 a = a * 3
  &=, ^=, ` |= | a &= 2`    
  <<=, >>=, >>>= a <<= 1 a = a << 1

2. 핵심 디테일: 복합 대입 연산자의 장점

가독성과 효율성

변수 이름이 매우 길 경우, 복합 대입 연산자를 쓰면 실수를 줄이고 코드를 깔끔하게 유지할 수 있다.

// 일반 대입
userScoreCurrentLevelForPlayerOne = userScoreCurrentLevelForPlayerOne + 100;

// 복합 대입 (훨씬 명확함)
userScoreCurrentLevelForPlayerOne += 100;

자동 형변환(Casting)

복합 대입 연산자는 내부적으로 강제 형변환을 포함하고 있다. 일반 연산에서는 컴파일 에러가 날 상황도 복합 대입은 통과시켜 준다.

int i = 10;
byte b = 5;

// b = b + i;  // 컴파일 에러! (int 결과를 byte에 담을 수 없음)
b += i;        // 정상 동작! (내부적으로 b = (byte)(b + i)로 처리됨)

3. 대입 연산의 방향성

대입 연산자는 특이하게 오른쪽에서 왼쪽으로 연산이 진행된다.

int a, b, c;
a = b = c = 10; // c, b, a 순서대로 대입

4. 요약 및 체크포인트