inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

(2027 대비!) 일주일만에 합격하는 정보처리기사 실기

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

24분 50초 population 저장값

해결된 질문

124

bbqdlsgy

작성한 질문수 4

0

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

python java c 정보처리기사

답변 3

0

bbqdlsgy

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

0

주말코딩

네 전혀 상관없습니다.

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

0

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 에 남긴 뒤, population 을 4(= 3 + 1) 로 만듭니다.

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

  • population += population

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

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

0

인프런 AI 인턴

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

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

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

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

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

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

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

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

정처기 2026-3 실기 문의

0

83

2

정처기 실기 3회 컴싸 사용 여부

0

50

1

모의고사 1 회 2번문제 중

0

66

2

26-2 이론문제 재탕

1

52

1

26-2년도 코드문제

0

36

0

26-2 코드문제

0

42

1

15분 48초 질문

0

55

2

26-1년도 이론문제 재탕

0

63

1

26-1년도 코드문제 재탕

0

44

0

이론재탕만 눈치챘어도

0

72

1

25-3년도 이론문제 재탕

0

55

1

25-3년도 코드문제 재탕

0

41

0

출력값 문의

0

53

2

25-2 분기커버리지

0

46

0

25-2 이론 재탕

0

65

1

25-1 이론 재탕

0

53

1

서브넷 마스크

0

50

2

모의고사 1회 계산문제 2개 맞았는데

0

67

2

업캐스팅 문제 예시 4번 부모 호출

0

51

2

모의고사 자료 해설이 너무 불친절하네요.

0

93

2

부모의 생성자 출력 관련

0

48

2

24-3 이론파트 재탕문제

0

57

0

누락코드

0

45

1

다차원 배열 포인터 질문있습니다

0

71

3