Flutter (์•ฑ ๊ฐœ๋ฐœ)/Dart ์ฝ”๋“œ ์ฒจ๋ถ€ ํŒŒ์ผ

[Dart ์กฐ๊ฑด๋ฌธ] Dart์—์„œ ์กฐ๊ฑด๋ฌธ(if, else, switch) ํ™œ์šฉํ•˜๊ธฐ(๋ช…๋ น ํ”„๋กฌํ”„ํŠธ ์ฒจ๋ถ€ ํŒŒ์ผ ์ œ๊ณต)

๋ชฝ๋ฌผ๊ณ ๊ธฐ๐“†œ 2025. 2. 24. 16:06
728x90
728x90

 

 

Dart์—์„œ ์กฐ๊ฑด๋ฌธ

(if, else, switch) ํ™œ์šฉํ•˜๊ธฐ ๐ŸŽฏ๐Ÿ”

 

Dart์—์„œ ์กฐ๊ฑด๋ฌธ

(Conditional Statements)์€

ํ”„๋กœ๊ทธ๋žจ์˜ ํ๋ฆ„์„ ์ œ์–ดํ•˜๋Š”

์ค‘์š”ํ•œ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.


์ฃผ์–ด์ง„ ์กฐ๊ฑด์— ๋”ฐ๋ผ

๋‹ค๋ฅธ ์ฝ”๋“œ ๋ธ”๋ก์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ,

์ด๋ฅผ ํ†ตํ•ด ํšจ์œจ์ ์ธ ํ”„๋กœ๊ทธ๋žจ ๋กœ์ง์„

๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š”

Dart์˜ if-else ๋ฌธ๊ณผ switch ๋ฌธ

ํ™œ์šฉ๋ฒ•์„ ์˜ˆ์ œ์™€ ํ•จ๊ป˜ ์ •๋ฆฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๐Ÿš€

 


 

๋จผ์ €

๋” ๋งŽ์€ ์ •๋ณด, ํ˜น์€


์ˆœ์„œ๋Œ€๋กœ ํฌ์ŠคํŒ…์„ ๋ณด๊ณ  ์‹ถ๋‹ค๋ฉด


์•„๋ž˜ ๋…ธ์…˜์„ ํ™•์ธํ•ด์ฃผ์„ธ์š”. 

 



https://mongmung-i.notion.site/Flutter-1a39b1e2cdaa80319a0fc2a89281dc71?pvs=4

 

Flutter ์–ดํ”Œ ๊ฐœ๋ฐœ ์ผ์ง€ | Notion

Made with Notion, the all-in-one connected workspace with publishing capabilities.

mongmung-i.notion.site

https://mongmung-i.notion.site/19f9b1e2cdaa80a984ade6141a87fd29?pvs=4

 

์ฐฝ์—… ํŠธ๋ž™ ์‚ฌ์ „ ์บ ํ”„ ๐“†ฒ | Notion

์ด ๊ณณ์€ ์ฐฝ์—… ํŠธ๋ž™ ์‚ฌ์ „ ์บ ํ”„ ์ง„ํ–‰ ์‚ฌํ•ญ์„ ์ •๋ฆฌํ•˜๋Š” ๊ณณ์ž…๋‹ˆ๋‹ค.

mongmung-i.notion.site

 

 


โ… . ์„œ๋ก : ์กฐ๊ฑด๋ฌธ์ด ์ค‘์š”ํ•œ ์ด์œ  ๐Ÿค”

 

ํ”„๋กœ๊ทธ๋žจ์—์„œ ์กฐ๊ฑด๋ฌธ์ด ํ•„์š”ํ•œ ์ด์œ 

 

โœ… ์กฐ๊ฑด์— ๋”ฐ๋ผ ์ฝ”๋“œ ์‹คํ–‰์„ ๋‹ค๋ฅด๊ฒŒ ์ œ์–ด ๊ฐ€๋Šฅ
โœ… ์‚ฌ์šฉ์ž ์ž…๋ ฅ ๋ฐ UI ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ์—์„œ ํ•„์ˆ˜์ 
โœ… Flutter UI์—์„œ๋„ ๋‹ค์–‘ํ•œ ์กฐ๊ฑด์— ๋”ฐ๋ผ ์œ„์ ฏ์„ ๋ณ€๊ฒฝํ•  ๋•Œ ํ™œ์šฉ๋จ

โžก ํšจ์œจ์ ์ธ ์ฝ”๋“œ ์ž‘์„ฑ์„ ์œ„ํ•ด ์กฐ๊ฑด๋ฌธ์˜ ๊ฐœ๋…์„ ํ™•์‹คํžˆ ์ตํžˆ์ž! ๐Ÿš€


Dart์˜ ์กฐ๊ฑด๋ฌธ ์ข…๋ฅ˜

 

โœ… if, else if, else → ํŠน์ • ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋ฉด ์‹คํ–‰
โœ… ์‚ผํ•ญ ์—ฐ์‚ฐ์ž (condition ? true : false) → ๊ฐ„๋‹จํ•œ ์กฐ๊ฑด ์ฒ˜๋ฆฌ
โœ… switch ๋ฌธ → ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฒฝ์šฐ(case)๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ ์‚ฌ์šฉ

โžก ์ด์ œ ๊ฐ ์กฐ๊ฑด๋ฌธ์„ ํ•˜๋‚˜์”ฉ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค! ๐ŸŽฏ


โ…ก. ๋ณธ๋ก : Dart์˜ ์กฐ๊ฑด๋ฌธ(if, else, switch) ํ™œ์šฉ๋ฒ• ๐Ÿ—๏ธ

 

Step 1: if, else, else if ๋ฌธ ํ™œ์šฉ

 

 

if-else ๋ฌธ์€ 

ํ”„๋กœ๊ทธ๋žจ์˜ ํ๋ฆ„์„ ์ œ์–ดํ•˜๋Š” 

๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ์กฐ๊ฑด๋ฌธ์ž…๋‹ˆ๋‹ค.


์ฃผ์–ด์ง„ ์กฐ๊ฑด์„ ๊ฒ€์‚ฌํ•˜์—ฌ 

์ฐธ(true)์ด๋ฉด ํ•ด๋‹น ์ฝ”๋“œ ๋ธ”๋ก์„ ์‹คํ–‰ํ•˜๊ณ , 

๊ฑฐ์ง“(false)์ด๋ฉด ๋‹ค๋ฅธ ๋ธ”๋ก์„ ์‹คํ–‰ํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

 

 

 

  • if → ํŠน์ • ์กฐ๊ฑด์ด **์ฐธ(true)**์ผ ๋•Œ ์‹คํ–‰
  • else → ๋ชจ๋“  ์กฐ๊ฑด์ด ๊ฑฐ์ง“(false)์ผ ๋•Œ ์‹คํ–‰
  • else if → ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์กฐ๊ฑด์„ ์ˆœ์ฐจ์ ์œผ๋กœ ๊ฒ€์‚ฌํ•  ๋•Œ ์‚ฌ์šฉ

 

 

โœ… if-else ๊ธฐ๋ณธ ๋ฌธ๋ฒ•

void main() {
  int score = 85;

  if (score >= 90) {
    print('A ํ•™์ ');
  } else if (score >= 80) {
    print('B ํ•™์ ');
  } else {
    print('C ํ•™์ ');
  }
}

 

โœ… if ๋ฌธ์—์„œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์กฐ๊ฑด ์‚ฌ์šฉ (&&, || ์—ฐ์‚ฐ์ž ํ™œ์šฉ) ์˜ˆ์ œ

void main() {
  int age = 20;
  bool hasPermission = true;

  if (age >= 18 && hasPermission) {
    print('์ž…์žฅ ๊ฐ€๋Šฅ');
  } else {
    print('์ž…์žฅ ๋ถˆ๊ฐ€');
  }
}

If ๋ฌธ ์˜ˆ์ œ.txt
0.00MB

 

 

๐Ÿ’ก ์–ธ์ œ if-else ๋ฌธ์„ ์‚ฌ์šฉํ•ด์•ผ ํ• ๊นŒ?

  • ์ ์ˆ˜์— ๋”ฐ๋ผ ํ•™์ ์„ ๋‹ค๋ฅด๊ฒŒ ๋ถ€์—ฌํ•  ๋•Œ
  • ๋กœ๊ทธ์ธ ์—ฌ๋ถ€์— ๋”ฐ๋ผ ๋‹ค๋ฅธ UI๋ฅผ ๋ณด์—ฌ์ค„ ๋•Œ
  • ์ƒํ’ˆ ํ• ์ธ์œจ์„ ๊ตฌ๋งค ๊ธˆ์•ก์— ๋”ฐ๋ผ ๋‹ค๋ฅด๊ฒŒ ์ ์šฉํ•  ๋•Œ

 

โžก if-else ๋ฌธ์„ ํ™œ์šฉํ•˜๋ฉด, ์ฝ”๋“œ๊ฐ€ ๋™์ ์œผ๋กœ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋„๋ก ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Œ! ๐Ÿš€


Step 2: ์‚ผํ•ญ ์—ฐ์‚ฐ์ž(ternary operator) ํ™œ์šฉ๋ฒ•

 

**UI๋Š” UX์˜ ์ผ๋ถ€**๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. **UX๊ฐ€ ์ข‹์€ ์ œํ’ˆ์ด๋ผ๋ฉด, ์‚ฌ์šฉ์ž๋Š” ๋ถˆํŽธํ•จ ์—†์ด ์›ํ•˜๋Š” ๋ชฉํ‘œ๋ฅผ ์‰ฝ๊ฒŒ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.** **UI๊ฐ€ ์ข‹์€ ์ œํ’ˆ์ด๋ผ๋ฉด, ์‚ฌ์šฉ์ž๋Š” ์‹œ๊ฐ์ ์œผ๋กœ ์•„๋ฆ„๋‹ต๊ณ , ์ง๊ด€์ ์œผ๋กœ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.**

 

โœ… ์‚ผํ•ญ ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•œ ์งง์€ ์กฐ๊ฑด๋ฌธ

void main() {
  int number = 10;
  String result = (number % 2 == 0) ? '์ง์ˆ˜' : 'ํ™€์ˆ˜';

  print(result); // ์ง์ˆ˜
}

 

โœ… Flutter UI์—์„œ ์‚ผํ•ญ ์—ฐ์‚ฐ์ž ํ™œ์šฉ ์˜ˆ์ œ

Widget build(BuildContext context) {
  bool isLoggedIn = true;
  return Text(isLoggedIn ? '๋กœ๊ทธ์ธ ์ƒํƒœ' : '๋กœ๊ทธ์•„์›ƒ ์ƒํƒœ');
}

 


Step 3: switch ๋ฌธ๊ณผ case ํ™œ์šฉ

 

UI์™€ UX๋Š” ๋ฐ€์ ‘ํ•œ ๊ด€๋ จ์ด ์žˆ์ง€๋งŒ, **๊ฐ๊ฐ ๋‹ค๋ฅธ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฐœ๋…**์ž…๋‹ˆ๋‹ค.

โœ… switch ๋ฌธ ๊ธฐ๋ณธ ๋ฌธ๋ฒ•

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

  switch (grade) {
    case 'A':
      print('์šฐ์ˆ˜');
      break;
    case 'B':
      print('์ข‹์Œ');
      break;
    case 'C':
      print('๋ณดํ†ต');
      break;
    default:
      print('์žฌ์‹œํ—˜');
  }
}

 

โœ… switch ๋ฌธ์—์„œ break๋ฅผ ์ƒ๋žตํ•˜๋ฉด ๋‹ค์Œ case๊ฐ€ ์‹คํ–‰๋จ

void main() {
  int day = 3;

  switch (day) {
    case 1:
    case 2:
    case 3:
      print('์ฃผ์ค‘');
      break;
    case 6:
    case 7:
      print('์ฃผ๋ง');
      break;
    default:
      print('์ž˜๋ชป๋œ ์ž…๋ ฅ');
  }
}

๐Ÿš€ switch ๋ฌธ์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฒฝ์šฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ ๊น”๋”ํ•˜๊ณ  ๊ฐ€๋…์„ฑ์ด ์ข‹์Œ! ๐ŸŽฏ


Step 4: switch ๋ฌธ์—์„œ enum ์‚ฌ์šฉํ•˜๊ธฐ

 

UI์™€ UX๋Š” ๋ฐ€์ ‘ํ•œ ๊ด€๋ จ์ด ์žˆ์ง€๋งŒ, **๊ฐ๊ฐ ๋‹ค๋ฅธ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฐœ๋…**์ž…๋‹ˆ๋‹ค.

 

โœ… enum(์—ด๊ฑฐํ˜•)๊ณผ ํ•จ๊ป˜ switch ๋ฌธ ํ™œ์šฉ

enum Weather { sunny, rainy, cloudy }

void main() {
  Weather today = Weather.rainy;

  switch (today) {
    case Weather.sunny:
      print('๋ง‘์€ ๋‚ ์”จ์ž…๋‹ˆ๋‹ค.');
      break;
    case Weather.rainy:
      print('๋น„๊ฐ€ ์˜ต๋‹ˆ๋‹ค.');
      break;
    case Weather.cloudy:
      print('ํ๋ฆฐ ๋‚ ์”จ์ž…๋‹ˆ๋‹ค.');
      break;
  }
}

enum(์—ด๊ฑฐํ˜•)๊ณผ ํ•จ๊ป˜ switch ๋ฌธ ํ™œ์šฉ.txt
0.00MB

 

 


โ…ข. ์กฐ๊ฑด๋ฌธ์„ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• โœ…

 

์กฐ๊ฑด๋ฌธ์„ ์ตœ์ ํ™”ํ•˜๋Š” ํŒ

 

โœ… ๊ฐ„๋‹จํ•œ ์กฐ๊ฑด์€ ์‚ผํ•ญ ์—ฐ์‚ฐ์ž (condition ? true : false) ์‚ฌ์šฉ
โœ… ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฒฝ์šฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ๋Š” switch ๋ฌธ์„ ํ™œ์šฉํ•˜์—ฌ ๊ฐ€๋…์„ฑ์„ ๋†’์ด๊ธฐ
โœ… ์ค‘์ฒฉ๋œ if-else ๋ฌธ์€ ์ฝ”๋“œ ๊ฐ€๋…์„ฑ์„ ์œ„ํ•ด ํ•จ์ˆ˜๋กœ ๋ถ„๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์ข‹


์กฐ๊ฑด๋ฌธ์„ ์‚ฌ์šฉํ•œ ํ”„๋กœ๊ทธ๋žจ ์˜ˆ์ œ

 

โœ… ๊ฐ„๋‹จํ•œ ATM ํ”„๋กœ๊ทธ๋žจ (if-else ํ™œ์šฉ)

void main() {
  int balance = 50000;
  int withdraw = 30000;

  if (withdraw > balance) {
    print('์ž”์•ก ๋ถ€์กฑ');
  } else {
    balance -= withdraw;
    print('์ถœ๊ธˆ ์™„๋ฃŒ! ํ˜„์žฌ ์ž”์•ก: $balance');
  }
}

๊ฐ„๋‹จํ•œ ATM ํ”„๋กœ๊ทธ๋žจ (if-else ํ™œ์šฉ).txt
0.00MB

 

if-else ๋ฌธ์€

๊ธฐ๋ณธ์ ์ธ ์กฐ๊ฑด ์ฒ˜๋ฆฌ์—

์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.


์‚ผํ•ญ ์—ฐ์‚ฐ์ž๋Š”

์งง์€ ์กฐ๊ฑด๋ฌธ์„ ์ž‘์„ฑํ•  ๋•Œ ์œ ์šฉํ•˜๊ณ ,


switch ๋ฌธ์€

์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฒฝ์šฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ

๊ฐ€๋…์„ฑ์ด ๋›ฐ์–ด๋‚ฉ๋‹ˆ๋‹ค.


enum๊ณผ ํ•จ๊ป˜ switch ๋ฌธ์„ ํ™œ์šฉํ•˜๋ฉด

๋”์šฑ ์ง๊ด€์ ์ธ ์ฝ”๋“œ ์ž‘์„ฑ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

728x90
728x90