int num = 0;
Console.WriteLine($"++num: {++num}");
Console.WriteLine($"num++: {num++}");
Console.WriteLine($"num: {num }");
[출력]
num: 1
num: 1
num: 2
첫번째 출력에서 num을 출력하라는 코드가 실행되기전 증가연산자를 통하여 num에 1의 값이 더해진다. (전위연산자)
따라서 출력값은 1이 된다.
두번째 출력에서 num을 출력하라는 코드가 실행된 후 증가연산자를 통하여 num에 1의 값이 더해진다.(후위연산자)
따라서 출력값은 1이 된다.
세번째 출력에서 전줄 코드에서 후위연산자를 통해 num에 1의 값이 더해진 상태이므로 출력값은 2가 된다.
int num = 0;
num += 10;
Console.WriteLine($"{num}");
num -= 6;
Console.WriteLine($"{num}");
num *= 2;
Console.WriteLine($"{num}");
num %= 3;
Console.WriteLine($"{num}");
[출력]
10
4
8
2
( num = num + 10 ) 과 ( num += 10 )은 같은 명령을 실행하는 코드이지만
후자가 메모리를 더 효율적으로 사용할 수 있고 가독성이 좋다는 부분에서 복합 할당 연산자는 굉장히 자주 쓰인다.