본문 바로가기
전체보기

[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) 개념을 학습하고, 실제 프로젝트에서 함수로 코드를 더 효율적으로 관리하는 방법을 배워보자! 🚀