본문 바로가기
* IT/Tip

[증감 연산자] 전위(++n), 후위(n++) 차이? 이것만 알면 쉽게 이해 할 수 있습니다.

by codinguser 2024. 4. 6.

[증감 연산자] 전위(++n), 후위(n++) 차이? 이것만 알면 쉽게 이해 할 수 있습니다.
[증감 연산자] 전위(++n), 후위(n++) 차이?

 

 

 

프로그래밍 언어를 진행하다 보면, 가장 햇갈리는 부분이 있다.

그 부분 중 하나가, 바로 전위와 후위 연산자이다.

 

 

과연 이부분을 어떻게 이해해야 쉽게 이해 할 수 있을지 한번 살펴보자.

 

 

우선, 개념적 이해를 하기 이전에 코드를 먼저 보고 이해해보자.

코드를 볼 때 가장 중요한건, 우선 코드로 눈에 익숙하게 만드는것이다.

 

 

 

코드로 이해하기

 

간단하게, 자바 코드로 살펴보자. 자바를 몰라도 상관없다.

 

그냥 연산자의 결과값만 보면 된다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class Main
{
    public static void main(String[] args) {
        
        
        int a = 1;
        int b = 2;
        
        System.out.println(a++); // 1
        System.out.println(a);   // 2
        
        System.out.println(++b); // 3
        System.out.println(b);   // 3
        
    }
}
 
 
 

 

 

 

 

설 명

 

1. System.out.println(a++);

a++

a++는, 나중에 올리는 (후위) 이니까, 그럼 나중에 올리고, 지금의 값을 출력해야 하니, 지금 값인 1을 출력

a(2) = a(1) + 1

 

2. System.out.print(a);

코드는 위에서 아래로 내려오기 때문에, 위에서 1번을 실행에 의해서 나중에 올린 값인 2가 출력

 

3. System.out.println(++b);

++b는 먼저 올리는 (전위) 이니까, 지금 올리고, 지금의 값을 출력해야 하니 지금 값인 3이 출력

 

4. System.out.println(b);

코드는 위에서 아래로 내려오기 때문에, 위 3번에서 실행에 의해 먼저 올린 값인 3이 출력

 

 

 

정 리

 

2가지 포인트만 가져 가면 된다.

 

 

1. 개념적 이해

 

용어에 정답이 있다.

정말 잘 곱씹어보자.

 

전위 연산자 = 이전 위치에 있는 연산자 = 이전에 올리겠다

후위 연산자 = 이후 위치에 있는 연산자 = 나중에 올리겠다

 

 

위에 개념이 이해됬다면, 아래 수식적 이해만 하면 끝 

 

 

 

2. 수식적 이해

n = n + 1

 

가장 왼쪽에 있는 n은, 전위 연산자의 결과값 (지금 올리겠다) 

n + 1 에 해당하는 n은 후위 연산자의 결과값 (나중에 올리겠다)

 

 

 

끝 -

댓글