확인한 환경과 범위

Windows · Node.js v24.18.0. 본문의 첫 예제를 실행하여 표준 출력과 예상 결과가 일치함을 확인했습니다. 연습문제의 모든 입력을 검증한 것은 아닙니다.

이 글의 순서 5개 단락

반복의 시작과 끝

같은 작업을 여러 번 수행할 때 반복문을 사용합니다. for의 괄호 안에는 초기화, 반복 조건, 변화가 세미콜론으로 구분되어 들어갑니다. for (let number = 1; number <= 5; number = number + 1)은 1부터 시작해 5 이하인 동안 실행하고, 한 번 실행할 때마다 1을 더합니다.

while은 괄호 안의 조건이 참인 동안 중괄호 안을 반복합니다. 조건에 쓰이는 값을 반복 중에 바꾸지 않으면 조건이 계속 참이어서 끝나지 않을 수 있습니다. 반복을 작성할 때는 시작값뿐 아니라 어떤 변화가 조건을 거짓으로 만드는지도 함께 생각해야 합니다.

실행 예제와 결과

let total = 0;

for (let number = 1; number <= 5; number = number + 1) {
  total = total + number;
  console.log(`${number}까지 합: ${total}`);
}

console.log("최종 합", total);

let remaining = 3;
while (remaining > 0) {
  console.log(`남은 횟수: ${remaining}`);
  remaining = remaining - 1;
}
console.log("반복 종료");

let emptyTotal = 0;
for (let number = 1; number <= 0; number = number + 1) {
  emptyTotal = emptyTotal + number;
}
console.log("실행하지 않은 합", emptyTotal);

첫 반복에서 total은 0에서 1이 되고, 다음에는 2를 더해 3이 됩니다. 이런 누적을 5까지 계속하면 최종 합은 15입니다. while에서는 3, 2, 1을 출력한 뒤 remaining이 0이 되어 조건이 거짓이므로 종료합니다. 마지막 for는 시작값 1이 이미 0 이하가 아니어서 본문을 한 번도 실행하지 않습니다.

반복문으로 합계 구하기 — 첫 예제의 실제 실행 결과

종료 조건과 범위 확인

number <= 5는 5를 포함하고 number < 5는 5를 포함하지 않습니다. 경계 기호 하나로 반복 횟수와 합계가 달라지므로 시작값과 마지막으로 포함할 값을 함께 확인하세요. 합계를 누적하는 변수는 반복문 밖에서 한 번만 0으로 초기화해야 합니다. 반복문 안에서 매번 0으로 만들면 앞에서 더한 값이 사라집니다.

while에서 감소 문장을 빠뜨리면 remaining > 0이 계속 참이 됩니다. 작성한 반복문이 끝나는지 손으로 몇 단계를 따라가 보세요. 반복 횟수가 0일 수도 있는 경우에도 초기값만으로 결과가 의미 있는지 확인해야 합니다. 예제의 빈 합은 초기값인 0입니다.

반복마다 남는 값을 기록하기

반복문은 한 줄을 여러 번 실행한다는 설명만으로는 흐름을 놓치기 쉽습니다. 현재 수와 누적 합계를 표로 나누면 어떤 값이 다음 반복으로 이어지는지 볼 수 있습니다. total은 반복문 바깥에 있으므로 이전 계산 결과를 다음 계산이 이어받습니다.

현재 number더하기 전 total더한 뒤 total
101
213
336
4610
51015

다섯 번째 실행 뒤에도 변화식은 적용되어 number가 6이 됩니다. 그 다음 6 <= 5를 검사하면 거짓이므로 본문으로 들어가지 않습니다. 따라서 6이 합계에 더해지는 일은 없습니다. 마지막으로 실행한 값과 반복을 끝내게 하는 값을 구별하면 경계 조건을 이해하기 쉽습니다.

while도 조건을 먼저 검사합니다. 예제의 remaining이 처음부터 0이었다면 출력 문장은 한 번도 실행되지 않았을 것입니다. 본문에 들어가기 위해 필요한 조건, 본문이 값을 바꾸는 방식, 다음 검사에서 끝나게 되는 순간을 순서대로 읽어보세요. 반복문이 멈추지 않는다면 시작값만 고치기보다 변화식이 실제로 조건을 거짓으로 만드는지 확인해야 합니다. 연습에서는 작은 수부터 시작하고 출력 결과를 따라간 뒤 범위를 넓히면 실수를 찾기 쉽습니다.

연습문제와 해설

for를 사용해 1부터 4까지의 합을 구해 보세요. 합계 변수를 0으로 선언하고 반복할 때마다 현재 수를 더하면 됩니다. 예상되는 변화는 1, 3, 6, 10이고 최종 결과는 10입니다. 조건을 number < 4로 쓰면 4를 더하지 않아 6이 되므로 요구한 범위와 다릅니다.

이번에는 while로 2부터 0까지 출력해 보세요. 시작값을 2로 두고 조건을 remaining >= 0으로 정한 뒤 한 번 출력할 때마다 1을 빼면 됩니다. 0도 출력한 후 값이 -1이 되어 반복이 끝납니다. 조건의 등호가 마지막 출력에 어떤 영향을 주는지 확인하세요.

CHECK THE SOURCE

참고한 공식 문서

기능 설명은 위 문서를 참고했으며, 예제의 입력·결과와 한계는 본문에 따로 기록했습니다.

한 줄씩 이해하고, 차곡차곡 기록합니다.이 글의 오류 제보하기 ↗