기억을 지배하는 기록

Dart의 제어문 본문

Flutter for Beginners

Dart의 제어문

Andrew's Akashic Records 2025. 2. 20. 15:10
728x90

Dart

Dart의 제어문 (Control Flow Statements)

Dart에서 제어문은 코드의 흐름을 제어하고 조건을 평가하며 반복 실행하는 데 사용됩니다.
대표적인 제어문에는 조건문 (if, switch)과 반복문 (for, while, do-while)이 있습니다.

1. 조건문 (Conditional Statements)

조건문은 특정 조건이 참(true)이면 코드 블록을 실행하고, 거짓(false)이면 다른 코드를 실행하도록 만듭니다.

(1) if - else 문

if 문은 주어진 조건이 true일 때만 실행됩니다. else는 if 조건이 false일 때 실행됩니다.

void main() {
  int age = 20;

  if (age >= 18) {
    print("성인입니다.");
  } else {
    print("미성년자입니다.");
  }
}

출력 결과: "성인입니다."
(18세 이상이므로 if 블록이 실행됨)

(2) if - else if - else 문

여러 개의 조건을 체크할 때 else if를 사용합니다.

void main() {
  int score = 85;

  if (score >= 90) {
    print("A 학점");
  } else if (score >= 80) {
    print("B 학점");
  } else if (score >= 70) {
    print("C 학점");
  } else {
    print("D 학점");
  }
}

출력 결과: "B 학점"

(3) 삼항 연산자 (? :)

삼항 연산자는 if-else 문을 한 줄로 축약할 수 있습니다.

void main() {
  int age = 20;
  String result = (age >= 18) ? "성인" : "미성년자";
  print(result);
}

출력 결과: "성인"

(4) switch-case 문

switch-case 문은 여러 개의 조건을 평가할 때 if-else보다 가독성이 좋습니다.

void main() {
  String grade = "B";

  switch (grade) {
    case "A":
      print("우수");
      break;
    case "B":
      print("좋음");
      break;
    case "C":
      print("보통");
      break;
    default:
      print("다시 확인하세요.");
  }
}

출력 결과: "좋음"

  • default 문은 모든 case에 해당하지 않을 경우 실행됩니다.
  • return 문이 없는 경우, break 문을 사용하지 않으면 다음 case도 실행됩니다.

2. 반복문 (Loops)

반복문은 특정 조건이 참일 때까지 코드 블록을 실행합니다.

(1) for 문

for 문은 반복 횟수가 정해져 있을 때 사용됩니다.

void main() {
  for (int i = 0; i < 5; i++) {
    print("반복: $i");
  }
}

 

반복: 0
반복: 1
반복: 2
반복: 3
반복: 4

(2) for-in 문 (리스트 순회)

리스트(List)나 컬렉션을 순회할 때 for-in 문을 사용하면 편리합니다.

void main() {
  List<String> fruits = ["Apple", "Banana", "Cherry"];

  for (var fruit in fruits) {
    print(fruit);
  }
}
Apple
Banana
Cherry

(3) forEach() 메서드

Dart에서는 forEach() 메서드를 이용하여 리스트를 반복할 수도 있습니다.

void main() {
  List<int> numbers = [1, 2, 3, 4, 5];

  numbers.forEach((num) {
    print(num);
  });
}
1
2
3
4
5

(4) while 문

while 문은 조건이 true일 동안 반복 실행됩니다.

void main() {
  int i = 0;

  while (i < 3) {
    print("while loop: $i");
    i++;
  }
}
while loop: 0
while loop: 1
while loop: 2

(5) do-while 문

do-while 문은 반드시 한 번 실행된 후, 조건을 평가합니다.

void main() {
  int i = 0;

  do {
    print("do-while loop: $i");
    i++;
  } while (i < 3);
}
do-while loop: 0
do-while loop: 1
do-while loop: 2

3. 반복문 제어 (Control Statements)

반복문 실행을 중단하거나 건너뛸 때 break와 continue를 사용합니다.

(1) break 문 (반복문 종료)

break 문을 만나면 반복문이 즉시 종료됩니다.

void main() {
  for (int i = 0; i < 5; i++) {
    if (i == 3) {
      break;  // 반복문 종료
    }
    print(i);
  }
}
0
1
2

(2) continue 문 (다음 반복으로 건너뛰기)

continue 문을 만나면 현재 반복을 건너뛰고 다음 반복을 실행합니다.

void main() {
  for (int i = 0; i < 5; i++) {
    if (i == 2) {
      continue;  // 2일 때 건너뛰기
    }
    print(i);
  }
}
0
1
3
4

4. break와 continue를 중첩 루프에서 사용

break와 continue를 중첩된 루프에서 사용할 수도 있습니다.

void main() {
  for (int i = 0; i < 3; i++) {
    for (int j = 0; j < 3; j++) {
      if (j == 1) break; // 내부 루프 종료
      print("i: $i, j: $j");
    }
  }
}
i: 0, j: 0
i: 1, j: 0
i: 2, j: 0

5. label을 이용한 break와 continue

Dart에서는 레이블(label)을 사용하여 특정 반복문을 종료하거나 건너뛸 수 있습니다.

void main() {
  outerLoop: for (int i = 0; i < 3; i++) {
    for (int j = 0; j < 3; j++) {
      if (j == 1) break outerLoop; // 외부 루프 종료
      print("i: $i, j: $j");
    }
  }
}
i: 0, j: 0

내부 루프에서 break outerLoop;를 만나 외부 루프까지 종료됨

728x90

'Flutter for Beginners' 카테고리의 다른 글

Dart의 예외 처리  (0) 2025.02.21
Dart의 함수(Function)와 람다(Lambda)  (0) 2025.02.21
Dart의 연산자  (0) 2025.02.20
Dart의 enum  (0) 2025.02.19
Dart의 컬렉션(Collection)  (0) 2025.02.19
Comments