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

C# 할당 연산자 완벽 정리: 종류와 예제 코드로 이해하기

연산자(Operator)란 컴파일러에게 특정 수학적 또는 논리적 연산을 수행하도록 지시하는 기호를 말합니다. 그중에서도 할당 연산자(Assignment Operator)는 변수에 값을 저장하거나 계산된 결과를 대입할 때 사용하는 C#의 핵심 연산자입니다.

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 와 동일
%=나머지(Modulus) 후 대입 연산자. 두 피연산자를 나눈 나머지를 왼쪽 피연산자에 대입합니다.C %= A 는 C = C % A 와 동일
<<=왼쪽 시프트 후 대입 연산자.C <<= 2 는 C = C << 2 와 동일
>>=오른쪽 시프트 후 대입 연산자.C >>= 2 는 C = C >> 2 와 동일
&=비트 AND 대입 연산자.C &= 2 는 C = C & 2 와 동일
^=비트 XOR(배타적 OR) 대입 연산자.C ^= 2 는 C = C ^ 2 와 동일
|=비트 OR(포함적 OR) 대입 연산자.C |= 2 는 C = C | 2 와 동일

예제 코드

다음 예제는 위에서 소개한 모든 할당 연산자를 실제로 사용하여 그 결과를 출력하는 프로그램입니다.

using System;
namespace Demo {
   class Program {
      static void Main(string[] args) {
         int a = 21;
         int c;
         c = a;
         Console.WriteLine("c의 값 = {0}", c);
         c += a;
         Console.WriteLine("c의 값 = {0}", c);
         c -= a;
         Console.WriteLine("c의 값 = {0}", c);
         c *= a;
         Console.WriteLine("c의 값 = {0}", c);
         c /= a;
         Console.WriteLine("c의 값 = {0}", c);
         c = 200;
         c %= a;
         Console.WriteLine("c의 값 = {0}", c);
         c <<= 2;
         Console.WriteLine("c의 값 = {0}", c);
         c >>= 2;
         Console.WriteLine("c의 값 = {0}", c);
         c &= 2;
         Console.WriteLine("c의 값 = {0}", c);
         c ^= 2;
         Console.WriteLine("c의 값 = {0}", c);
         c |= 2;
         Console.WriteLine("c의 값 = {0}", c);
         Console.ReadLine();
      }
   }
}

실행 결과

c의 값 = 21
c의 값 = 42
c의 값 = 21
c의 값 = 441
c의 값 = 21
c의 값 = 11
c의 값 = 44
c의 값 = 11
c의 값 = 2
c의 값 = 0
c의 값 = 2

결과 해석

a = 21일 때 각 연산이 순서대로 적용되면 다음과 같이 값이 변합니다.

  • c = a → 21 (단순 대입)
  • c += a → 21 + 21 = 42
  • c -= a → 42 - 21 = 21
  • c *= a → 21 × 21 = 441
  • c /= a → 441 ÷ 21 = 21
  • c = 200; c %= a → 200 % 21 = 11 (나머지)
  • c <<= 2 → 11을 왼쪽으로 2비트 시프트 = 44
  • c >>= 2 → 44를 오른쪽으로 2비트 시프트 = 11
  • c &= 2 → 11 AND 2 = 2
  • c ^= 2 → 2 XOR 2 = 0
  • c |= 2 → 0 OR 2 = 2

복합 할당 연산자를 활용하면 코드를 더 간결하고 읽기 쉽게 작성할 수 있으므로, 실무에서도 널리 사용됩니다.