Java에서 ++ 앞과 ++ 뒤: 증가 연산자

발행: (2025년 12월 28일 오전 01:50 GMT+9)
3 min read
원문: Dev.to

Source: Dev.to

소개

++ 연산자는 단순히 더하기만 하는 것이 아닙니다. Java에서는 전위 증가와 후위 증가가 코드가 반환하는 값뿐만 아니라 저장되는 값도 바꿀 수 있습니다. 증분이 표현식 안에서 일어나거나 인덱스 혹은 메서드에 값을 전달할 때 문제가 발생합니다. 겉보기엔 사소해 보이지만, 언제 값이 증가하고 언제 사용되는지를 혼동하면 루프 로직이나 메서드 호출이 깨질 수 있습니다.

  • 전위 증가 (++x): 값을 증가시키고 새로운 값을 반환합니다.
  • 후위 증가 (x++): 현재 값을 반환한 뒤에 값을 증가시킵니다.

루프나 메서드 호출에서 어느 것을 선택하느냐에 따라 동작이 달라집니다. 다음 연산에 이미 증가된 값이 필요하면 ++x를 사용하고, 증가하기 전의 값이 필요하면 x++를 사용하세요.

예시

public class IncrementDemo {
    public static void main(String[] args) {
        int a = 1, b = ++a; // a=2, b=2
        int c = 1, d = c++;   // c=2, d=1
        System.out.println(a + " " + b + " | " + c + " " + d);
    }
}

이러한 차이는 인덱스 연산이나 메서드에 값을 전달할 때 자주 나타납니다. 잘못 사용하면 루프 조건이 한 번 더 만족되거나, 요소가 잘못된 인덱스로 처리될 수 있습니다.

권장 조치

  1. 코드베이스에서 x++를 사용해 다음 연산이나 인덱스에 값을 전달하는 부분을 최소 두 군데 찾아보세요.
  2. 즉시 증가된 값을 사용해야 하는 경우 해당 부분을 ++x로 교체하세요.
  3. 두 변형의 동작을 비교하는 작은 테스트를 추가하세요.
  4. 테스트가 없다면, 카운터나 인덱스 시나리오에서 전위와 후위 증가의 차이를 명시적으로 검증하는 단위 테스트를 작성하세요.
Back to Blog

관련 글

더 보기 »

내 TicketDesk 시스템

소개: 프로그래밍 입문 모듈을 위해 Java로 TicketDesk 시스템을 만들었습니다. 이 시스템은 다음을 수행할 수 있습니다: - 티켓 추적 - 로그인 정보 추적 - 역할 기반 인증 제공