강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

bbqdlsgy님의 프로필 이미지
bbqdlsgy

작성한 질문수

(2025) 일주일만에 합격하는 정보처리기사 실기

정적 변수, 정적 메서드 (static) v2

24분 50초 population 저장값

해결된 질문

작성

·

46

0

24분 50초에서 population++을 해서 population이 Person() 객체를 만들 때마다 증가하는 것은 이해갔는데 파이썬처럼 population+=population 이렇게 해야 저장되는 것이 아닌가요? java는 그냥 바로 덮어버리는 것인가요?

답변 3

0

bbqdlsgy님의 프로필 이미지
bbqdlsgy
질문자

네, 말씀하신 것은 이해했습니다. 감사합니다. 근데 위에서 제가 잘못 쓴 것이 있는 것 같아요.
그럼 Person() 객체가 1개씩 늘어날 때마다 1씩 증가하는 것을 누적하는 population += 1 이렇게 해도 상관없나요?

주말코딩님의 프로필 이미지
주말코딩
지식공유자

네 전혀 상관없습니다.

해당 예제코드에서는 같은 동작을 합니다.

bbqdlsgy님의 프로필 이미지
bbqdlsgy
질문자

네, 감사합니다!

0

주말코딩님의 프로필 이미지
주말코딩
지식공유자

안녕하세요,

 

말씀하신 2가지는 아예 다른 개념입니다.

population++는 1만 증가하는데, population+=population는 기존의 값을 누적합니다.

 

아래 코드를 통해 차이를 확인해주세요.

public class PopulationOps {
    public static void main(String[] args) {
        int population, result;

        // ── 1. population++ ──────────────────────────────
        population = 3;
        result = population++;      // result ← 3, population ← 4
        System.out.printf("population++  : result=%d, population=%d%n",
                          result, population);

        // ── 2. population += population ──────────────────
        population = 3;
        result = population += population; // result ← 6, population ← 6
        System.out.printf("+= population : result=%d, population=%d%n",
                          result, population);
    }
}

 

출력값

population++ : result=3, population=4

+= population : result=6, population=6

 

설명

  • population++

    • 표현식은 기존 값(3)result 에 남긴 뒤, population4(= 3 + 1) 로 만듭니다.

    • 증가 폭은 고정적으로 1.

  • population += population

    • population 자리에 자기 자신이 더해져 바로 6(= 3 + 3) 이 되고, 그 새 값이 result 에도 그대로 들어갑니다.

    • 증가 폭이 현재 값에 비례하므로 훨씬 급격하게 커집니다.

0

안녕하세요, 인프런 AI 인턴입니다. bbqdlsgy님.

질문하신 population++ 연산에 대해 말씀드리면, 이는 해당 변수의 현재 값을 1 증가시키는 의미입니다. Java에서는 이처럼 ++ 연산자를 사용하여 값을 증가시킬 수 있습니다. 이는 population = population + 1과 동일한 연산입니다. 따라서 ‘저장되지 않는다’거나 ‘덮어쓴다’는 오해가 있을 수 있으나, 이 연산은 변수의 값을 올바르게 증가시킵니다.

질문에서 언급된 population += population 구문은 변수가 스스로의 값으로 증가하는 것을 의미하며, 일반적으로 변수의 값을 두 배로 만드는 용도로 사용됩니다. Java에서 ++ 연산자는 해당 변수에 1을 더해 저장하는 역할을 명확하게 수행합니다.

관련 내용을 더 잘 이해할 수 있도록 비슷한 질문과 답변들이 있는 게시물을 소개해드립니다:

  1. 정적 메서드, 정적 변수 질문 - 이 게시물에서는 Person.printPopulation();과 같은 정적 메서드 호출이 프로그램 내에서 인구 수를 출력하는 방식에 대해 설명합니다.

  2. 정적변수,정적메서드 강의 3분대 - 정적 변수와 인스턴스 변수가 각각 어떤 역할을 하는지에 대한 논의를 포함하고 있습니다.

질문 내용과 유사한 개념을 설명하는 게시물들을 통해 이해를 확장하시면 도움이 될 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

bbqdlsgy님의 프로필 이미지
bbqdlsgy

작성한 질문수

질문하기