해결된 질문
작성
·
46
답변 3
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 인턴입니다. bbqdlsgy님.
질문하신 population++
연산에 대해 말씀드리면, 이는 해당 변수의 현재 값을 1 증가시키는 의미입니다. Java에서는 이처럼 ++
연산자를 사용하여 값을 증가시킬 수 있습니다. 이는 population = population + 1
과 동일한 연산입니다. 따라서 ‘저장되지 않는다’거나 ‘덮어쓴다’는 오해가 있을 수 있으나, 이 연산은 변수의 값을 올바르게 증가시킵니다.
질문에서 언급된 population += population
구문은 변수가 스스로의 값으로 증가하는 것을 의미하며, 일반적으로 변수의 값을 두 배로 만드는 용도로 사용됩니다. Java에서 ++
연산자는 해당 변수에 1을 더해 저장하는 역할을 명확하게 수행합니다.
관련 내용을 더 잘 이해할 수 있도록 비슷한 질문과 답변들이 있는 게시물을 소개해드립니다:
정적 메서드, 정적 변수 질문 - 이 게시물에서는 Person.printPopulation();
과 같은 정적 메서드 호출이 프로그램 내에서 인구 수를 출력하는 방식에 대해 설명합니다.
정적변수,정적메서드 강의 3분대 - 정적 변수와 인스턴스 변수가 각각 어떤 역할을 하는지에 대한 논의를 포함하고 있습니다.
질문 내용과 유사한 개념을 설명하는 게시물들을 통해 이해를 확장하시면 도움이 될 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
네 전혀 상관없습니다.
해당 예제코드에서는 같은 동작을 합니다.