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

C# 전위 연산자와 후위 연산자의 차이점 완벽 정리

C# 증감 연산자: 전위(Prefix) vs 후위(Postfix)

C#에서 증가 연산자(++)감소 연산자(--)는 변수 앞에 붙이느냐 뒤에 붙이느냐에 따라 동작 방식이 달라집니다. 이 두 가지 사용 방식을 각각 전위 연산자, 후위 연산자라고 부르며, 코드 실행 순서와 반환되는 값에 중요한 차이가 있습니다.

전위 연산자(Prefix Operator)란?

증가 연산자 ++를 변수 앞에 붙여 사용하면, 변수의 값이 먼저 1 증가한 후 그 값이 반환됩니다. 이를 전위 증가 연산자라고 합니다. 마찬가지로 전위 감소 연산자(--a)도 같은 방식으로 동작하며, 값을 먼저 1 감소시킨 뒤 반환합니다.

++a;

다음 예제는 전위 증가 연산자의 동작을 보여줍니다.

예제 코드

using System;
class Program {
    static void Main() {

        int a, b;
        a = 50;
        Console.WriteLine(++a);

        b = a;
        Console.WriteLine(a);
        Console.WriteLine(b);
    }
}

실행 결과

51
51
51

Console.WriteLine(++a);가 실행되는 순간 a의 값이 먼저 51로 증가하고, 증가된 값이 출력됩니다. 따라서 이후 a와 b 모두 51을 가지게 됩니다.

후위 연산자(Postfix Operator)란?

증가 연산자 ++를 변수 뒤에 붙여 사용하면, 변수의 현재 값이 먼저 반환된 후 값이 1 증가합니다. 이를 후위 증가 연산자라고 합니다. 후위 감소 연산자(a--)도 같은 원리로 동작하며, 현재 값을 먼저 반환한 뒤 1 감소시킵니다.

a++;

다음 예제는 후위 연산자의 동작 방식을 보여줍니다.

예제 코드

using System;
class Program {
    static void Main() {

        int a, b;
        a = 10;
        Console.WriteLine(a++);

        b = a;
        Console.WriteLine(a);
        Console.WriteLine(b);
    }
}

실행 결과

10
11
11

Console.WriteLine(a++);가 실행될 때는 증가하기 전의 값인 10이 먼저 출력되고, 그 후에 a의 값이 11로 증가합니다. 따라서 이후 a와 b는 모두 11을 가지게 됩니다.

핵심 정리

  • 전위(++a): 값을 먼저 증가(또는 감소)시킨 후, 변경된 값을 반환합니다.
  • 후위(a++): 현재 값을 먼저 반환한 후, 값을 증가(또는 감소)시킵니다.

즉, 단독으로 사용할 때는 결과가 같지만, 다른 표현식 내에서 사용할 때는 반환 시점의 차이 때문에 결과가 달라질 수 있으므로 주의해서 사용해야 합니다.