초보자를 위한 코딩용어 - 반복문(Loop)이란 무엇일까요?
안녕하세요 Vector JUN입니다.
지금까지 우리는 변수, 함수, 배열, 조건문까지 배워봤는데요. 그리고 이제 초보자라면 언젠가 꼭 만나게 되는 또 하나의 코딩 친구가 등장합니다. 바로 반복문(Loop)입니다. 그래도 이제는 조건문까지 배웠으니 반복문은 어느 정도 쉽게 느껴지실 수도 있다는 생각이 드네요.
Loop라는 단어도 처음에는 또 하나의 어려운 프로그래밍 용어처럼 느껴질 수 있지만, 솔직히 개념 자체는 정말 간단합니다.
반복문은 컴퓨터에게 “이 일을 계속 반복해서 해줘.” 이렇게 말하는 게 사실 이게 거의 전부입니다. 오늘도 아주 쉬운 예시와 실제 JavaScript 코드를 이용해서 반복문이 무엇인지 알아보겠습니다. 이 글을 다 읽고 딱 하나만 기억한다면 이것만 기억하세요.
Loop = 반복입니다.
1. 반복문(Loop)
반복문을 가장 쉽게 이해하는 방법은 같은 일을 계속 반복하는 로봇을 상상하는 것이에요.
집에 로봇 한 대가 있다고 생각해 봅시다. 로봇에게 “책 한 권을 책장에 꽂아줘.”라고 말을 해봤어요.
그러면 로봇은 책 한 권을 책장에 꽂겠죠? 그런데 책이 100권이라면 어떨까요?
정말로 로봇에게
“책 한 권을 책장에 꽂아줘.”
“책 한 권을 책장에 꽂아줘.”
“책 한 권을 책장에 꽂아줘.”
이 말을 100번 반복하고 싶으신가요? 솔직히 저는 싫습니다. 대신“책을 책장에 꽂는 일을 100번 반복해줘.”라고 말하면 훨씬 편하겠죠? 프로그래밍에서 반복문도 이와 굉장히 비슷한데요. 똑같은 코드를 계속 다시 작성하는 대신, 컴퓨터한테 그 일을 알아서 반복하라고 시키는 것입니다. 예를 들어,
Hello라고 말하기.
Hello라고 말하기.
Hello라고 말하기.
Hello라고 말하기.
Hello라고 말하기.
이렇게 같은 명령을 다섯 번 직접 작성할 수도 있는 것을, 반복문을 이용해서 컴퓨터에게 간단히 이렇게 말할 수 있습니다. “Hello를 다섯 번 말해줘.” 이것이 반복문의 가장 기본적인 개념입니다.
(저는 반복문을 불평 한마디 없이 똑같은 일을 계속 해주는 로봇이라고 생각해요.)
2. 반복문 실제 코드 사용법 (여기서 집중하세요.)
간단한 JavaScript의 for 반복문을 한번 보겠습니다.
for (let i = 0; i < 5; i++) {
console.log("Hello");
}
자.
압니다.
이 코드 또한 처음 보면 조금 겁이 나실텐데요. 세미콜론도 나오고, 기호도 나오고, 괄호도 나오고 갑자기 정체를 알 수 없는 i까지 등장했습니다. 하지만 우리는 걱정할 필요 없습니다. 하나부터 열까지 이해시켜드릴게요.
let i = 0
먼저 컴퓨터는 i라는 변수를 하나 만들고 그 안에 숫자 0을 넣었다고 가정할게요. 여기서 i는 숫자를 세는 작은 카운터라고 생각하면 편합니다. 즉, i = 0 이라는 것은 “0부터 숫자를 세기 시작할게.” 라는 뜻입니다.
i < 5
이번에는 컴퓨터가 “i가 아직 5보다 작아?”라고 질문을 했다고 가정해볼게요. 대답이 YES라면, 컴퓨터는 반복문 안에 있는 코드를 실행합니다. 반대로 대답이 NO가 되는 순간, 반복문을 멈춥니다.
i++
이 부분은 한 번 반복할 때마다 i의 숫자를 1씩 올려준다는 뜻입니다. 그래서 카운터는
0 → 1 → 2 → 3 → 4 이렇게 움직이게 되는데요. 컴퓨터는 매번 i가 아직 5보다 작은지 확인절차를 거치며, 조건이 맞는 동안에는 계속해서 다음 코드를 반복합니다.
console.log("Hello");
그러면 컴퓨터는
Hello
Hello
Hello
Hello
Hello
라고 총 다섯 번 출력합니다. 이게 기본 원리에요. (코드 생김새가 개념보다 훨씬 어려워 보이는 경우 중 하나죠.)
이 반복문 전체를 사람의 언어로 바꿔 표현한다면 “0부터 숫자를 세기 시작해. 숫자가 5보다 작은 동안 계속 진행하고, 한 번 할 때마다 숫자를 1씩 올리면서 Hello라고 말해줘.”라고 말하는 것과 같아요. 갑자기 조금 덜 무서워졌죠? JavaScript에는 for뿐만 아니라 while, do...while, for...of 등 여러 종류의 반복문이 있습니다.
3. 반복문은 실제로 어디에 사용할까?
여기까지 보면 이런 생각이 들 수도 있어요. “알겠는데… 이걸 실제로 언제 쓰는데?”라는 의문이 드실거에요.(정상입니다.)
정답은, 거의 모든 곳입니다. 온라인 쇼핑몰에 상품이 100개 있다고 생각해볼게요.
웹사이트는 화면에
상품 1
상품 2
상품 3
상품 4
...
이렇게 수많은 상품을 보여줘야 해요. 그렇다고 개발자가 상품 하나하나마다 코드를 따로 작성할까요? 보통은 그렇지 않습니다.
반복문을 이용하면 상품 목록을 하나씩 확인하면서 화면에 보여줄 수도 있어요. 게임에서는 여러 적을 하나씩 확인할 수 있고,
음악 앱에서는 여러 음악의 리스트를 차례대로 확인할 수 있습니다. SNS에서는 여러 게시물을 화면에 보여줄 수 있고,
쇼핑몰 장바구니에서는 담긴 모든 상품을 하나씩 확인해서 총가격을 계산할 수도 있습니다. 일상 속의 쓰임새가 참 많은 것 같아요.
그럼 예를 들어 앞에서 배웠던 배열을 하나 만들어볼까요?
let fruits = ["Apple", "Banana", "Orange"];
그리고 반복문을 이용해서 과일을 하나씩 확인할 수 있습니다.
for (let i = 0; i < fruits.length; i++) {
console.log(fruits[i]);
}
그러면 컴퓨터는 이렇게 출력합니다.
Apple
Banana
Orange
어떤 일이 일어난 걸까요? 앞에서 우리는 배열을 여러 값을 보관하는 수납장이라고 배웠는데요.
이제 반복문이라는 친구가 그 수납장을 처음부터 끝까지 걸어가면서 상자를 하나씩 확인하고 있는 것입니다.
이제 지금까지 배운 코딩 개념들이 조금씩 연결되기 시작하시나요?
4. 조건문과 반복문의 차이
조건문과 반복문의 차이도 아주 간단하게 나눠보겠습니다.
조건문 = 선택한다
반복문 = 반복한다
앞에서 조건문을 신호등에 비유했었죠?
조건문이 “신호등이 초록색이야?” 라는 질문을 합니다.
그럼 당연히 결과도 YES → 출발/NO → 멈춤 이 둘 중에 하나겠죠?
하지만 반복문은 조금 다른데요.
반복문은 “멈추라는 조건이 나올 때까지 계속 이 일을 해.” 라고 말합니다. (아주 말 잘듣는 관리자같은 느낌이라고 할까요?)
또 예를 하나 들어볼게요.
조건문: 쿠키가 있다면 → 쿠키 하나를 먹는다.
반복문: 쿠키가 남아 있는 동안 → 계속 쿠키를 먹는다.
(물론 실제로 그렇게 하시는 건 추천하지 않습니다.)
그러니까 이것만 기억하면 됩니다.
Condition = 선택
Loop = 반복
지금은 이 정도면 충분하니까 무리하지 마세요.
5. 초보자가 자주 하는 실수
반복문을 처음 배울 때 초보자가 가장 자주 하는 실수 중 하나가 바로 무한 반복(Infinite Loop)입니다.
네.
무한반복이라...이름부터 조금 무섭죠. 근데 이 무한 반복은 실제로도 약간 광기인데요.
무한 반복은 반복문을 멈춰야 할 조건이 끝까지 false가 되지 않아서 컴퓨터가 같은 일을 계속 반복하는 상황입니다.
예를 들어,
while (true) {
console.log("Hello");
}
여기 있는 조건은 항상 true로 들어갑니다. 다시 말해 컴퓨터 입장에서는 “Hello라고 영원히 계속 말해.”라는 명령을 받은 것이죠.
그럼 컴퓨터는 정말로
Hello.
Hello.
Hello.
Hello.
Hello.
...
라고 계속 말하게 돼요. 언제 멈춰야 하는지 모르기 때문입니다.
반복문을 사용할 때는 언젠가 반복 조건이 끝날 수 있도록 꼭 만들어주셔야 돼요. 일상속의 예로, 인공지능 로봇청소기가 있다는 가정하에 로봇청소기에게 “방이 깨끗해질 때까지 청소해.” 라는 명령을 한다면 깨끗해질 때까지만 청소를 하겠지만 “영원히 계속 청소해.” 라고 말한다면…로봇에게 행운을 빌어줘야 할 것 같습니다. 또 하나 초보자들이 자주 헷갈리는 것이 바로 카운터입니다.
i++
이것은 쉽게 말하면 “i에 1을 더해줘.” 라는 뜻이라서,
0 → 1 → 2 → 3 이런 식으로 숫자가 올라갑니다. 첫날부터 이상하게 생긴 모든 기호를 완벽하게 이해할 필요는 없습니다.
지금은 카운터가 “내가 지금 몇 번 반복했는지 컴퓨터가 기억하도록 도와주는 숫자”라고 우선에는 이런 것들이 있구나하고 생각만 하시면 됩니다.
한 줄 정리
“반복문(Loop)”은 특정 조건이 멈추라고 할 때까지 똑같은 일을 계속 반복해주는 “성실한 로봇 친구”라고 생각하면 편합니다.
결론
반복문도 프로그래밍에서 정말 기초지만 중요한 개념 중 하나인데요.
특히 처음에는 갑자기 i = 0, i < 5, i++ 같은 것들이 등장해서 “이게 대체 뭐야?”싶으셨을거에요.
하지만 실제 개념은 코드 생김새보다 훨씬 단순합니다. 오늘은 이것만 기억해도 충분합니다.
변수 = 정보를 기억하는 상자
함수 = 일을 하는 작은 기계
배열 = 여러 값을 보관하는 수납장
조건문 = 상황을 보고 선택하는 신호등
반복문 = 같은 일을 반복하는 로봇
이 정도면 됩니다.
컴퓨터에게 같은 일을 10번, 100번, 심지어 10,000번 시켜야 한다고 해서 우리가 같은 코드를 10,000번 작성할 필요는 없습니다.
그 귀찮은 일을 반복문한테 맡기는 겁니다.
그리고 솔직히 이것이 컴퓨터가 정말 유용한 이유 중 하나이기도 합니다.
컴퓨터는 지치지 않고 같은 일을 반복하는 데 정말 강하거든요.
여기까지 따라오셨다면 정말 잘하셨습니다.
처음에는 무섭게만 보였던 코딩 용어들이 이제 하나씩 서로 연결되기 시작하고 있습니다.
오늘 하루도 부족한 제 긴 글 읽어주시느라 고생 많으셨습니다. 도움이 되셨거나 궁금하신 점이 있으시면 댓글에 남겨주세요. 감사합니다.
공식 출처
- MDN Web Docs — Loops and iteration
JavaScript에서 사용하는 for, while, do...while, for...in, for...of 등의 반복문과 반복 동작의 기본 원리를 설명하는 공식 개발자 문서입니다. - MDN Web Docs — for Statement
JavaScript의 for 반복문에서 시작값, 조건, 증가·변경 표현식을 이용해 반복 실행을 제어하는 방법을 설명합니다. - ECMAScript 2026 Language Specification — Iteration Statements
JavaScript 표준을 관리하는 TC39에서 제공하는 ECMAScript 공식 명세로, for, while 등 반복문의 문법과 동작 방식을 정의하고 있습니다.