본문 바로가기
스파르타 코딩 클럽 내일배움캠프 6기/[Flutter 트랙] 앱개발 종합반

[Flutter 트랙] 앱개발 종합반 1-10 - 반복문

by 앱 창업 부트캠프 2025. 3. 4.

Dart 반복문 개념과 실전 프로젝트 적용

이번 포스팅에서는 Flutter 개발을 위한 Dart 반복문을 정리하고, 실전 프로젝트에서 반복문을 활용하는 방법을 설명합니다.


1. 반복문(Loop)란?

반복문은 같은 작업을 여러 번 수행해야 할 때 사용하는 프로그래밍 기법입니다. 예를 들어, 1부터 10까지의 숫자를 더하거나, 특정 UI 요소를 여러 개 생성할 때 유용하게 사용됩니다.

📌 반복문을 사용하지 않은 코드

아래 코드는 1부터 10까지 더하는 코드입니다.


int sum = 0;
sum = sum + 1;
sum = sum + 2;
sum = sum + 3;
sum = sum + 4;
sum = sum + 5;
sum = sum + 6;
sum = sum + 7;
sum = sum + 8;
sum = sum + 9;
sum = sum + 10;

print(sum); // 55 출력

하지만 위의 코드는 숫자가 많아질수록 유지보수가 어려워집니다.

📌 반복문을 사용한 코드


int sum = 0;
for (int i = 1; i <= 10; i++) {
    sum += i;
}
print(sum); // 55 출력

반복문을 활용하면 간단한 코드로 같은 작업을 여러 번 수행할 수 있습니다.


2. 반복문의 종류

  • for 문: 정해진 횟수만큼 반복.
  • forEach 문: 리스트(List) 등의 컬렉션에서 요소를 하나씩 순회.
  • while 문: 특정 조건이 참인 동안 반복.
  • do-while 문: 조건과 상관없이 최소 한 번 실행한 후, 조건이 참이면 반복.

3. for 문 (기본 반복문)

📌 for 문 기본 문법


for (초기식; 조건식; 증감식) {
    실행할 코드;
}

📌 예제: 1부터 100까지 더하기


int sum = 0;
for (int i = 1; i <= 100; i++) {
    sum += i;
}
print(sum); // 5050 출력

4. forEach 문 (컬렉션 요소 순회)

리스트(List)나 맵(Map) 같은 자료구조에서 요소를 하나씩 가져와 반복할 때 사용.

📌 예제: 리스트의 모든 요소 출력


List numbers = [1, 2, 3, 4, 5];

numbers.forEach((number) {
    print(number); // 1, 2, 3, 4, 5 출력
});

5. while 문 (조건이 참일 때 반복)

while 문은 특정 조건이 참일 때 계속 반복합니다.

📌 예제: 1부터 10까지 출력


int i = 1;
while (i <= 10) {
    print(i);
    i++;
}

6. do-while 문 (최소 한 번 실행 후 반복)

do-while 문은 조건과 상관없이 최소 한 번 실행됩니다.

📌 예제: 최소 한 번 실행되는 반복문


int i = 1;
do {
    print(i);
    i++;
} while (i <= 10);

7. 프로젝트에서 반복문 활용하기

Flutter 프로젝트에서 반복문을 활용하여 **UI 요소를 동적으로 생성**할 수 있습니다.

📌 1) 리스트를 활용하여 카드 UI 생성


List cardNumbers = [1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6];

Column(
    children: List.generate(cardNumbers.length, (index) {
        return Card(
            child: ListTile(
                title: Text("카드 번호: ${cardNumbers[index]}"),
            ),
        );
    }),
);

📌 2) 클릭하면 카드가 뒤집히는 기능 추가


List isFlipped = List.generate(12, (index) => false);

void onCardTap(int index) {
    setState(() {
        isFlipped[index] = !isFlipped[index];
    });
}

Column(
    children: List.generate(cardNumbers.length, (index) {
        return GestureDetector(
            onTap: () => onCardTap(index),
            child: Card(
                color: isFlipped[index] ? Colors.blue : Colors.grey,
                child: ListTile(
                    title: Text(isFlipped[index] ? "번호: ${cardNumbers[index]}" : "뒤집힘"),
                ),
            ),
        );
    }),
);

8. 결론

  • 반복문을 사용하면 같은 작업을 효율적으로 수행할 수 있다.
  • for 문은 특정 횟수만큼 반복할 때 유용하다.
  • while 문do-while 문은 조건을 기반으로 반복한다.
  • Flutter 프로젝트에서는 **반복문을 활용하여 UI 요소를 동적으로 생성**할 수 있다.
  • 사용자의 동작(예: 카드 클릭)에 따라 **상태(state)를 변경**하여 UI에 반영할 수 있다.

다음 시간에는 함수(Function) 개념을 학습하고, 실제 프로젝트에서 함수로 코드를 더 효율적으로 관리하는 방법을 배워보자! 🚀