C#/문법 정리

C# - 대입 연산자(assignment operator)

Khadra 2024. 7. 4. 09:12

대입 연산자(assignment operator) 사용해야하는 이유

프로그래밍 언어에서는 x = x + 1;과 같이 변수의 값을 바꾸어 다시 그 변수에 할당하는 경우가 많다.
즉, 같은 변수 이름을 두 번 사용해야 하기 때문에 번거롭다.

resultOfCalculation = resultOfCalculation * 2;

위와 같은 문장이 있다면 resultOfCalculation라는 긴 변수를 두 번 쓰는 것이 불편할 것이다.
대입연산을 간편하게 하기 위해 압축하여 사용할 수 있다.

resultOfCalculation *= 2;


압축하여 사용할 때 주의할 점.

  • x += y * 3;이라는 문장은 (x + y) * 3이 아니다. x = x + (y * 3)이라는 뜻이다.
  • 이와 같은 압축 표현은 모든 이항연산자에 적용되며, 이것을 지정 연산자라고도 한다.

예제 코드

using System;
using static System.Console;//Console단어를 생략(코드길이줄어둠)
namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        { 
            // int 변수 x는 32로 초기화된다. 
            int x = 32;

            // x += 2는 x = x + 2와 같은 의미이다.
            // x에 2를 더하여 x에 할당하므로 x = 34이다.
            WriteLine(x += 2);

            // x -= 2는 x = x - 2와 같은 의미이다.
            // x에 8를 빼서 x에 할당하므로 x = 26이다.
            WriteLine(x -= 8);

            // x *= 2는 x = x * 2와 같은 의미이다.
            // x에 3를 곱하여 x에 할당하므로 x = 78이다.
            WriteLine(x *= 3);

            // x /= 2는 x = x / 2와 같은 의미이다.
            // x에 2를 나누어 x에 할당하므로 x = 39이다.
            WriteLine(x /= 2);
        }
    }
}

결과

34
26
78
39