Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# 할당 연산자 완벽 정리: 종류와 사용 예제

C#에서 할당 연산자(assignment operator)는 변수에 값을 대입하는 데 사용되는 연산자입니다. 단순히 값을 저장하는 기본 연산자뿐만 아니라, 산술 연산이나 비트 연산과 결합된 복합 할당 연산자도 함께 제공되어 코드를 더 간결하고 읽기 쉽게 작성할 수 있습니다.

C#의 주요 할당 연산자

다음 표는 C#에서 사용할 수 있는 다양한 할당 연산자와 그 동작 방식을 정리한 것입니다.

연산자설명예시
=단순 할당 연산자. 오른쪽 피연산자의 값을 왼쪽 피연산자에 대입합니다.C = A + B → A + B의 결과값을 C에 대입
+=덧셈 후 할당 연산자. 오른쪽 피연산자를 왼쪽 피연산자에 더한 결과를 왼쪽에 대입합니다.C += A 는 C = C + A 와 동일
-=뺄셈 후 할당 연산자. 왼쪽 피연산자에서 오른쪽 피연산자를 뺀 결과를 왼쪽에 대입합니다.C -= A 는 C = C - A 와 동일
*=곱셈 후 할당 연산자. 두 피연산자를 곱한 결과를 왼쪽 피연산자에 대입합니다.C *= A 는 C = C * A 와 동일
/=나눗셈 후 할당 연산자. 왼쪽 피연산자를 오른쪽 피연산자로 나눈 결과를 왼쪽에 대입합니다.C /= A 는 C = C / A 와 동일
%=나머지(모듈러스) 후 할당 연산자. 두 피연산자를 나눈 나머지를 왼쪽 피연산자에 대입합니다.C %= A 는 C = C % A 와 동일
<<=왼쪽 시프트 후 할당 연산자. 비트를 지정한 횟수만큼 왼쪽으로 이동한 결과를 대입합니다.C <<= 2 는 C = C << 2 와 동일
>>=오른쪽 시프트 후 할당 연산자. 비트를 지정한 횟수만큼 오른쪽으로 이동한 결과를 대입합니다.C >>= 2 는 C = C >> 2 와 동일
&=비트 AND 후 할당 연산자. 두 피연산자의 비트 AND 결과를 대입합니다.C &= 2 는 C = C & 2 와 동일
^=비트 배타적 OR(XOR) 후 할당 연산자. 두 피연산자의 XOR 결과를 대입합니다.C ^= 2 는 C = C ^ 2 와 동일
|=비트 포함 OR 후 할당 연산자. 두 피연산자의 OR 결과를 대입합니다.C |= 2 는 C = C | 2 와 동일

할당 연산자 사용 예제

아래 예제는 C#에서 다양한 할당 연산자를 실제로 사용하는 과정을 보여줍니다.

using System;

namespace OperatorsAppl {

    class Program {

        static void Main(string[] args) {
            int a = 21;
            int c;

            // 단순 할당 연산자
            c = a;
            Console.WriteLine("Assignment Operator: {0}", c);

            // 덧셈 후 할당
            c += a;
            Console.WriteLine("+= Value: {0}", c);

            // 뺄셈 후 할당
            c -= a;
            Console.WriteLine("-= Value: {0}", c);

            // 곱셈 후 할당
            c *= a;
            Console.WriteLine("*= Value: {0}", c);

            // 나눗셈 후 할당
            c /= a;
            Console.WriteLine("/= Value: {0}", c);

            // 나머지 후 할당
            c = 200;
            c %= a;
            Console.WriteLine("%= Value: {0}", c);

            // 왼쪽 시프트 후 할당
            c <<= 2;
            Console.WriteLine("<<= Value: {0}", c);

            Console.ReadLine();
        }
    }
}

실행 결과

Assignment Operator: 21
+= Value: 42
-= Value: 21
*= Value: 441
/= Value: 21
%= Value: 11
<<= Value: 44

동작 원리 살펴보기

위 예제의 실행 흐름을 단계별로 살펴보면 다음과 같습니다.

  • c = a : 변수 a의 값 21이 c에 그대로 대입됩니다.
  • c += a : 21 + 21 = 42가 c에 저장됩니다.
  • c -= a : 42 - 21 = 21이 되어 다시 c에 저장됩니다.
  • c *= a : 21 × 21 = 441이 c에 대입됩니다.
  • c /= a : 441 ÷ 21 = 21이 됩니다.
  • c %= a : c를 200으로 초기화한 뒤, 200 % 21 = 11이 c에 저장됩니다.
  • c <<= 2 : 11을 왼쪽으로 2비트 시프트하면 44가 됩니다.

마무리

복합 할당 연산자를 활용하면 같은 변수를 반복해서 참조하는 번거로움을 줄이고 코드 길이를 크게 단축할 수 있습니다. 특히 누적 합계 계산, 카운터 증감, 비트 플래그 처리 등에서 자주 사용되므로 각 연산자의 의미를 정확히 이해해 두는 것이 좋습니다.