C# 할당 연산자란 무엇인가?
C#에서 할당 연산자(assignment operator)는 변수에 값을 저장하는 데 사용하는 연산자입니다. 가장 기본적인 형태는 등호(=)로, 오른쪽 피연산자의 값을 왼쪽 변수에 대입합니다.
이 외에도 산술 연산이나 비트 연산과 결합된 복합 할당 연산자(compound assignment operator)를 활용하면 반복적인 코드를 줄이고 가독성을 높일 수 있습니다. 예를 들어 c += a는 c = c + a와 동일한 의미입니다.
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 후 할당 연산자. | C &= 2 ≡ C = C & 2 |
| ^= | 비트 배타적 OR(XOR) 후 할당 연산자. | C ^= 2 ≡ C = C ^ 2 |
| |= | 비트 포함 OR 후 할당 연산자. | C |= 2 ≡ C = C | 2 |
할당 연산자 사용 예제
다음 예제는 다양한 할당 연산자가 실제로 어떻게 동작하는지 보여줍니다.
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
예제 코드 해설
변수 a를 21로 초기화한 뒤 c = a로 값을 복사하면 c는 21이 됩니다. 이후 c += a를 실행하면 42가 되고, c -= a를 실행하면 다시 21로 돌아옵니다.接着 c *= a는 21 × 21 = 441, c /= a는 441 ÷ 21 = 21이 됩니다.
c를 200으로 설정한 후 c %= a를 실행하면 200 ÷ 21의 나머지인 11이 저장됩니다. 마지막으로 c <<= 2는 비트를 왼쪽으로 2칸 이동시키는 연산으로, 11 × 4 = 44가 출력됩니다.
이처럼 복합 할당 연산자를 사용하면 같은 변수를 반복해서 작성하지 않아도 되므로 코드가 간결해지고 실수를 줄일 수 있습니다.