๊ด€๋ฆฌ ๋ฉ”๋‰ด

ruriruriya

[Dart] ํ•จ์ˆ˜ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ธฐ๋ณธ๊ฐ’ ์ง€์ •(Default Parameters) ๋ณธ๋ฌธ

๐Ÿ“ฑFlutter/Dart

[Dart] ํ•จ์ˆ˜ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ธฐ๋ณธ๊ฐ’ ์ง€์ •(Default Parameters)

๋ฃจ๋ฆฌ์•ผใ…‘ 2024. 12. 18. 14:59
๋ฐ˜์‘ํ˜•

Dart ์–ธ์–ด์—์„œ ํ•จ์ˆ˜์˜ ๋งค๊ฐœ๋ณ€์ˆ˜์— ๊ธฐ๋ณธ๊ฐ’์„ ์„ค์ •ํ•ด์„œ ํ•จ์ˆ˜ ํ˜ธ์ถœ ์‹œ ํŠน์ • ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ƒ๋žตํ•  ์ˆ˜ ์žˆ๋‹ค.

1. ๊ธฐ๋ณธ๊ฐ’ ์ง€์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•

๊ธฐ๋ณธ๊ฐ’์„ ์„ค์ •ํ•˜๋ ค๋ฉด ์ค‘๊ด„ํ˜ธ '{}'๋กœ ๊ฐ์‹ผ ์ด๋ฆ„ ๊ธฐ๋ฐ˜ ์„ ํƒ์  ๋งค๊ฐœ๋ณ€์ˆ˜ ๋˜๋Š” ๋Œ€๊ด„ํ˜ธ'[]'๋กœ ๊ฐ์‹ผ ์œ„์น˜ ๊ธฐ๋ฐ˜ ์„ ํƒ์  ๋งค๊ฐœ๋ณ€์ˆ˜ ์ค‘ ์„ ํƒํ•ด์„œ ์‚ฌ์šฉํ•˜์—ฌ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ธฐ๋ณธ๊ฐ’์„ ์ง€์ •ํ•˜๋ ค๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ค‘๊ด„ํ˜ธ ๋˜๋Š” ๋Œ€๊ด„ํ˜ธ๋กœ ๊ฐ์‹ธ์„œ ๊ฐ’์„ ํ• ๋‹นํ•˜๋ฉด ๋œ๋‹ค.
๊ทธ๋ž˜์„œ ํ˜ธ์ถœ ์‹œ ์ƒ๋žต๋œ ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ์„ค์ •๋œ ๊ธฐ๋ณธ๊ฐ’์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ๋‹ค.

void ํ•จ์ˆ˜์ด๋ฆ„(ํƒ€์ž… ๋งค๊ฐœ๋ณ€์ˆ˜์ด๋ฆ„, {ํƒ€์ž… ๋งค๊ฐœ๋ณ€์ˆ˜์ด๋ฆ„ = ๊ธฐ๋ณธ๊ฐ’}) {
  // ํ•จ์ˆ˜ ๋ณธ๋ฌธ
}
void greet(String name, {String greeting = "Hello"}) {
  print("$greeting, $name!");
}

void main() {
  greet("ํ™๊ธธ๋™"); // ์ถœ๋ ฅ: Hello, ํ™๊ธธ๋™!
  greet("์˜ํฌ", greeting: "Hi"); // ์ถœ๋ ฅ: Hi, ์˜ํฌ!
}

 

2. ์ด๋ฆ„ ๊ธฐ๋ฐ˜ ์„ ํƒ์  ๋งค๊ฐœ๋ณ€์ˆ˜

- ์ค‘๊ด„ํ˜ธ '{}' ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๊ฐ์‹ธ์„œ ๊ธฐ๋ณธ๊ฐ’์„ ํ• ๋‹นํ•œ๋‹ค.
- ๋งค๊ฐœ๋ณ€์ˆ˜ ์ด๋ฆ„์„ ๋ช…์‹œ์ ์œผ๋กœ ์ง€์ •ํ•ด์•ผ ํ˜ธ์ถœ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

void greet(String name, {String greeting = "Hello"}) {
  print("$greeting, $name!");
}

void main() {
  greet("ํ™๊ธธ๋™"); // ์ถœ๋ ฅ: Hello, ํ™๊ธธ๋™!
  greet("์˜ํฌ", greeting: "Hi"); // ์ถœ๋ ฅ: Hi, ์˜ํฌ!
}

 

3. ์œ„์น˜ ๊ธฐ๋ฐ˜ ์„ ํƒ์  ๋งค๊ฐœ๋ณ€์ˆ˜

- ๋Œ€๊ด„ํ˜ธ'[]'๋กœ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๊ฐ์‹ธ์„œ ๊ธฐ๋ณธ๊ฐ’์„ ํ• ๋‹นํ•œ๋‹ค.
- ๋งค๊ฐœ๋ณ€์ˆ˜ ์ด๋ฆ„์„ ์ƒ๋žตํ•˜๊ณ  ์ˆœ์„œ์— ๋”ฐ๋ผ ๊ฐ’์„ ์ „๋‹ฌํ•œ๋‹ค.

void greet(String name, [String greeting = "Hello"]) {
  print("$greeting, $name!");
}

void main() {
  greet("ํ™๊ธธ๋™"); // ์ถœ๋ ฅ: Hello, ํ™๊ธธ๋™!
  greet("์˜ํฌ", "Hi"); // ์ถœ๋ ฅ: Hi, ์˜ํฌ!
}
๋ฐ˜์‘ํ˜•