
โ . ์๋ก : ์กฐ๊ฑด๋ฌธ์ด ์ค์ํ ์ด์
๐ 1. ํ๋ก๊ทธ๋จ์์ ์กฐ๊ฑด๋ฌธ์ด ํ์ํ ์ด์
๐ 2. Dart์ ์กฐ๊ฑด๋ฌธ ์ข ๋ฅ
โ ก. ๋ณธ๋ก : Dart์ ์กฐ๊ฑด๋ฌธ(if, else, switch) ํ์ฉ๋ฒ
๐ Step 1: if, else, else if ๋ฌธ ํ์ฉ
๐ Step 2: ์ผํญ ์ฐ์ฐ์(ternary operator) ํ์ฉ๋ฒ
๐ Step 3: switch ๋ฌธ๊ณผ case ํ์ฉ
๐ Step 4: switch ๋ฌธ์์ enum ์ฌ์ฉํ๊ธฐ
โ ข. ์กฐ๊ฑด๋ฌธ์ ํจ๊ณผ์ ์ผ๋ก ํ์ฉํ๋ ๋ฐฉ๋ฒ
๐ ์กฐ๊ฑด๋ฌธ์ ์ต์ ํํ๋ ํ
๐ ์กฐ๊ฑด๋ฌธ์ ์ฌ์ฉํ ํ๋ก๊ทธ๋จ ์์
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-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;
}
}
โ ข. ์กฐ๊ฑด๋ฌธ์ ํจ๊ณผ์ ์ผ๋ก ํ์ฉํ๋ ๋ฐฉ๋ฒ โ
์กฐ๊ฑด๋ฌธ์ ์ต์ ํํ๋ ํ
โ
๊ฐ๋จํ ์กฐ๊ฑด์ ์ผํญ ์ฐ์ฐ์ (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');
}
}
if-else ๋ฌธ์
๊ธฐ๋ณธ์ ์ธ ์กฐ๊ฑด ์ฒ๋ฆฌ์
์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค.
์ผํญ ์ฐ์ฐ์๋
์งง์ ์กฐ๊ฑด๋ฌธ์ ์์ฑํ ๋ ์ ์ฉํ๊ณ ,
switch ๋ฌธ์
์ฌ๋ฌ ๊ฐ์ ๊ฒฝ์ฐ๋ฅผ ์ฒ๋ฆฌํ ๋
๊ฐ๋ ์ฑ์ด ๋ฐ์ด๋ฉ๋๋ค.
enum๊ณผ ํจ๊ป switch ๋ฌธ์ ํ์ฉํ๋ฉด
๋์ฑ ์ง๊ด์ ์ธ ์ฝ๋ ์์ฑ ๊ฐ๋ฅํฉ๋๋ค.