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

[Dart ๋ณ€์ˆ˜์™€ ๋ฐ์ดํ„ฐ ํƒ€์ž…] var, dynamic, const, final ์ฐจ์ด์  ์ •๋ฆฌ(๋ช…๋ น ํ”„๋กฌํ”„ํŠธ ์ฒจ๋ถ€ ํŒŒ์ผ ์ œ๊ณต)

๋ชฝ๋ฌผ๊ณ ๊ธฐ๐“†œ 2025. 2. 23. 18:38
728x90
728x90

 

Dart์—์„œ

var, dynamic, const, final

์ฐจ์ด์  ์ •๋ฆฌ ๐ŸŽฏ๐Ÿ“Œ

 

Dart์—์„œ๋Š” ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•  ๋•Œ

var, dynamic, const, final

ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 


๊ฐ๊ฐ์˜ ํ‚ค์›Œ๋“œ๋Š”

๋ณ€์ˆ˜์˜ ํƒ€์ž… ๊ฒฐ์ • ๋ฐฉ์‹๊ณผ

๊ฐ’ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ ์—ฌ๋ถ€๊ฐ€ ๋‹ค๋ฅด๋ฏ€๋กœ,

์ •ํ™•ํ•œ ์ฐจ์ด๋ฅผ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

 

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

๊ฐ ํ‚ค์›Œ๋“œ์˜ ์ฐจ์ด์ ๊ณผ ์‚ฌ์šฉ๋ฒ•์„

์ฝ”๋“œ ์˜ˆ์ œ์™€ ํ•จ๊ป˜

์ƒ์„ธํžˆ ์ •๋ฆฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๐Ÿš€

 


๋จผ์ €

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


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


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

 



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

 

 

 


โ… . ์„œ๋ก : Dart์—์„œ ๋ณ€์ˆ˜ ์„ ์–ธ ์‹œ ๊ณ ๋ คํ•ด์•ผ ํ•  ์‚ฌํ•ญ ๐Ÿค”

 

ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•˜๋‹ค ๋ณด๋ฉด ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•  ๋•Œ

๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š”์ง€,

์–ด๋–ค ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ์ €์žฅํ• ์ง€

๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.


Dart์—์„œ๋Š” ์ด๋ฅผ ์œ„ํ•ด

var, dynamic, const, final

๋„ค ๊ฐ€์ง€ ํ•จ์ˆ˜๋ฅผ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค. 

 

 

๊ทธ๋ ‡๋‹ค๋ฉด, ์–ด๋–ค ๊ฒฝ์šฐ์— ์–ด๋–ค ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ• ๊นŒ์š”?
์˜ˆ๋ฅผ ๋“ค์–ด,

  • var์„ ์‚ฌ์šฉํ•˜๋ฉด ํƒ€์ž…์„ ์ž๋™์œผ๋กœ ์ถ”๋ก ํ•˜๋ฉด์„œ๋„ ๊ฐ’ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ
  • dynamic์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ณ€์ˆ˜์˜ ํƒ€์ž…์„ ์ž์œ ๋กญ๊ฒŒ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ
  • const๋Š” ์ปดํŒŒ์ผ ์‹œ์ ์— ๊ฐ’์ด ๊ฒฐ์ •๋˜๋Š” ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€๋Šฅํ•œ ์ƒ์ˆ˜
  • final์€ ํ•œ ๋ฒˆ ํ• ๋‹น๋˜๋ฉด ๋ฐ”๊ฟ€ ์ˆ˜ ์—†๋Š” ๊ฐ’, ํ•˜์ง€๋งŒ ๋Ÿฐํƒ€์ž„์—์„œ ๊ฒฐ์ • ๊ฐ€๋Šฅ

 

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

๊ฐ ํ‚ค์›Œ๋“œ์˜ ์ฐจ์ด์ ๊ณผ ์‚ฌ์šฉ๋ฒ•์„

์ฝ”๋“œ ์˜ˆ์ œ์™€ ํ•จ๊ป˜

์ž์„ธํžˆ ์ •๋ฆฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๐Ÿš€

 


๋ณ€์ˆ˜ ์„ ์–ธ ์‹œ ํƒ€์ž…์„ ์ง€์ •ํ•˜๋Š” ๋ฐฉ์‹

 

Dart์—์„œ๋Š” ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•  ๋•Œ 

๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 


๊ฐ ๋ฐฉ์‹๋งˆ๋‹ค

 ํƒ€์ž… ๊ฒฐ์ • ๋ฐฉ์‹๊ณผ 

๋ณ€๊ฒฝ ๊ฐ€๋Šฅ ์—ฌ๋ถ€๊ฐ€ ๋‹ค๋ฅด๋ฏ€๋กœ 

์ ์ ˆํ•œ ์„ ํƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

 

โœ… ๋ช…์‹œ์  ํƒ€์ž… ์ง€์ • → int age = 30;
โœ… ํƒ€์ž… ์ถ”๋ก (var) → var name = 'Dart';
โœ… ๋™์  ํƒ€์ž…(dynamic) → dynamic value = 'Hello';
โœ… ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€๋Šฅํ•œ ๊ฐ’(const, final) → const pi = 3.14;


๋ณ€๊ฒฝ ๊ฐ€๋Šฅํ•œ ๋ณ€์ˆ˜์™€ ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€๋Šฅํ•œ ๋ณ€์ˆ˜

 

 

๋ณ€์ˆ˜๋Š” ํฌ๊ฒŒ

๋ณ€๊ฒฝ ๊ฐ€๋Šฅํ•œ ๋ณ€์ˆ˜(Mutable)์™€

๋ณ€๊ฒฝ ๋ถˆ๊ฐ€๋Šฅํ•œ ๋ณ€์ˆ˜(Immutable)

๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค.

 

 

โœ… ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ (Mutable) → var, dynamic
โœ… ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€๋Šฅ (Immutable) → const, final

โžก ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค๋ฉด const ๋˜๋Š” final์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค! ๐Ÿš€


โ…ก. ๋ณธ๋ก : var, dynamic, const, final ์ฐจ์ด์  ๋ถ„์„ ๐Ÿ—๏ธ

 

Step 1: var (ํƒ€์ž… ์ถ”๋ก  ๋ณ€์ˆ˜)์™€ ํ™œ์šฉ๋ฒ•

 

๐Ÿ“Œ var์ด๋ž€?


var ํ‚ค์›Œ๋“œ๋Š” ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•  ๋•Œ

Dart๊ฐ€ ์ž๋™์œผ๋กœ ํƒ€์ž…์„

์ถ”๋ก ํ•˜๋„๋ก ๋„์™€์ค๋‹ˆ๋‹ค.

 


ํ•œ ๋ฒˆ ํƒ€์ž…์ด ๊ฒฐ์ •๋˜๋ฉด,

๋‹ค๋ฅธ ํƒ€์ž…์œผ๋กœ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

 

 

Dart๊ฐ€ ์ž๋™์œผ๋กœ ์ถ”๋ก ํ•˜์—ฌ ์ง€์ •ํ•ด์ฃผ๋‹ˆ,

๋”์šฑ ๊ฐ„ํŽธํ•œ ํƒ€์ž… ์ถ”๋ก ๋ณ€์ˆ˜ 

์‚ดํŽด๋ณผ๊นŒ์š”?

 

 

โœ… Dart๊ฐ€ ์ž๋™์œผ๋กœ ํƒ€์ž…์„ ์ถ”๋ก ํ•˜์—ฌ ์ง€์ •
โœ… ํ•œ ๋ฒˆ ํƒ€์ž…์ด ๊ฒฐ์ •๋˜๋ฉด ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Œ (๊ฐ•ํƒ€์ž…)
โœ… ๊ฐ’ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ (mutable)

void main() {
  var name = 'Flutter';  // Dart๊ฐ€ ์ž๋™์œผ๋กœ String ํƒ€์ž…์œผ๋กœ ์ถ”๋ก 
  print('์ด๋ฆ„: $name');  // ์ถœ๋ ฅ: Flutter

  // name = 42;  // โŒ ์˜ค๋ฅ˜ ๋ฐœ์ƒ (String์œผ๋กœ ํƒ€์ž…์ด ๊ณ ์ •๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ)
}

 

โžก ์ •๋ฆฌ:

  • var์€ ์ดˆ๊ธฐ ๊ฐ’์— ๋”ฐ๋ผ ํƒ€์ž…์ด ๊ฒฐ์ •๋˜๋ฉฐ, ์ดํ›„ ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  • ํƒ€์ž…์„ ๋ช…ํ™•ํ•˜๊ฒŒ ์•Œ๊ณ  ์žˆ์„ ๋•Œ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์Šต๋‹ˆ๋‹ค.
  • ํƒ€์ž…์ด ๋ณ€ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ var์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ€๋…์„ฑ์ด ๋†’์•„์ง‘๋‹ˆ! ๐ŸŽฏ

Step 2: dynamic (๋™์  ํƒ€์ž… ๋ณ€์ˆ˜)์™€ ์ฐจ์ด์ 

 

๐Ÿ“Œ dynamic์ด๋ž€?

 

dynamic ํ‚ค์›Œ๋“œ๋Š” 

๋ณ€์ˆ˜์˜ ํƒ€์ž…์„ ์ž์œ ๋กญ๊ฒŒ 

๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š” ๋ณ€์ˆ˜์ž…๋‹ˆ๋‹ค.


์ฆ‰, ํ•œ ๋ฒˆ ๋ฌธ์ž์—ด์„ ์ €์žฅํ–ˆ๋‹ค๊ฐ€ 

๋‚˜์ค‘์— ์ˆซ์ž๋กœ ๋ฐ”๊ฟ€ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

โœ… ๋ณ€์ˆ˜์˜ ํƒ€์ž…์ด ์‹คํ–‰ ์ค‘์— ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ์Œ
โœ… ํƒ€์ž…์ด ์ž๋™์œผ๋กœ ๊ฒฐ์ •๋˜์ง€ ์•Š์Œ (์ •ํ™•ํ•œ ํƒ€์ž… ์ฒดํฌ X)
โœ… ๊ฐ’ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ (mutable)

void main() {
  dynamic value = 'Hello';  
  print(value); // ์ถœ๋ ฅ: Hello

  value = 42;  // ํƒ€์ž… ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ
  print(value); // ์ถœ๋ ฅ: 42
}

โœ… ์ •๋ฆฌ

  • dynamic์€ ํƒ€์ž…์ด ์ •ํ™•ํ•˜์ง€ ์•Š๊ฑฐ๋‚˜, ์‹คํ–‰ ์ค‘ ํƒ€์ž…์ด ๋ฐ”๋€” ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉ
  • ํ•˜์ง€๋งŒ, ์ž˜๋ชป ์‚ฌ์šฉํ•˜๋ฉด ์˜ˆ๊ธฐ์น˜ ์•Š์€ ์˜ค๋ฅ˜ ๋ฐœ์ƒ ๊ฐ€๋Šฅ

โžก ํƒ€์ž… ์•ˆ์ •์„ฑ์ด ํ•„์š”ํ•˜๋‹ค๋ฉด var์„ ์‚ฌ์šฉํ•˜๊ณ , ๊ผญ ํ•„์š”ํ•œ ๊ฒฝ์šฐ์—๋งŒ dynamic์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค! ๐Ÿšจ


Step 3: const (์ปดํŒŒ์ผ ํƒ€์ž„ ์ƒ์ˆ˜)์™€ ํ™œ์šฉ๋ฒ•

 

๐Ÿ“Œ const๋ž€?

 

const ํ‚ค์›Œ๋“œ๋Š” 

์ปดํŒŒ์ผ ํƒ€์ž„์— ๊ฐ’์ด ๊ฒฐ์ •๋˜๋ฉฐ, 

์ดํ›„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋Š” ์ƒ์ˆ˜๋ฅผ ์„ ์–ธํ•  ๋•Œ 

์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.


์˜ˆ๋ฅผ ๋“ค์–ด, 

์›์ฃผ์œจ(pi)์ฒ˜๋Ÿผ 

๋ณ€ํ•˜์ง€ ์•Š๋Š” ๊ฐ’์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

 

 

โœ… ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€๋Šฅํ•œ ์ƒ์ˆ˜๋ฅผ ์„ ์–ธํ•  ๋•Œ ์‚ฌ์šฉ
โœ… ์ปดํŒŒ์ผ ํƒ€์ž„์— ๊ฐ’์ด ๊ฒฐ์ •๋˜์–ด์•ผ ํ•จ
โœ… ๋ฐ˜๋“œ์‹œ ๊ฐ’์„ ํ• ๋‹นํ•ด์•ผ ํ•จ (null ๋ถˆ๊ฐ€)

void main() {
  const double pi = 3.14;  // ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€๋Šฅํ•œ ์ƒ์ˆ˜
  print(pi); // ์ถœ๋ ฅ: 3.14

  // pi = 3.1415;  // โŒ ์˜ค๋ฅ˜ ๋ฐœ์ƒ (const ๋ณ€์ˆ˜๋Š” ์ˆ˜์ • ๋ถˆ๊ฐ€๋Šฅ)
}

 

โœ… ์ •๋ฆฌ

  • const๋Š” ๋ณ€๊ฒฝํ•  ํ•„์š” ์—†๋Š” ๊ฐ’(์˜ˆ: ์ˆ˜ํ•™ ์ƒ์ˆ˜, ์•ฑ ๋ฒ„์ „ ๋“ฑ)์— ์‚ฌ์šฉ
  • ์ปดํŒŒ์ผ ํƒ€์ž„์— ์ด๋ฏธ ๊ฐ’์ด ์ •ํ•ด์ ธ ์žˆ์–ด์•ผ ํ•จ

โžก ์ ˆ๋Œ€ ๋ณ€ํ•˜์ง€ ์•Š๋Š” ์ƒ์ˆ˜๋ผ๋ฉด const๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Œ! ๐Ÿš€


Step 4: final (๋Ÿฐํƒ€์ž„ ์ƒ์ˆ˜)์™€ ์ฐจ์ด์ 

 

๐Ÿ“Œ final์ด๋ž€?

 

final ํ‚ค์›Œ๋“œ๋Š” ํ•œ ๋ฒˆ ๊ฐ’์„ ํ• ๋‹นํ•˜๋ฉด 

๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋Š” ๋ณ€์ˆ˜์ž…๋‹ˆ๋‹ค.


ํ•˜์ง€๋งŒ

 const์™€ ๋‹ฌ๋ฆฌ ์ปดํŒŒ์ผ ์‹œ์ ์ด ์•„๋‹ˆ๋ผ, 

์‹คํ–‰ ์ค‘(๋Ÿฐํƒ€์ž„)์— 

๊ฐ’์ด ๊ฒฐ์ •๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.



์˜ˆ๋ฅผ ๋“ค์–ด, 

ํ˜„์žฌ ๋‚ ์งœ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ณ€์ˆ˜๋ฅผ ๋งŒ๋“ค ๋•Œ

 final์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๋‚ ์งœ๋Š” ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์‹œ ๊ฒฐ์ •๋˜์ง€๋งŒ, 

์‹คํ–‰ ์ค‘ ๋ณ€๊ฒฝํ•ด์„œ๋Š” ์•ˆ ๋˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

 

 

โœ… ํ•œ ๋ฒˆ ๊ฐ’์„ ํ• ๋‹นํ•˜๋ฉด ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Œ
โœ… ํ•˜์ง€๋งŒ, ์ปดํŒŒ์ผ ํƒ€์ž„์ด ์•„๋‹Œ ๋Ÿฐํƒ€์ž„์—์„œ ๊ฐ’์ด ๊ฒฐ์ •๋  ์ˆ˜ ์žˆ์Œ
โœ… ํด๋ž˜์Šค ๋‚ด์—์„œ ์ƒ์ˆ˜๋ฅผ ์„ ์–ธํ•  ๋•Œ ์œ ์šฉ

void main() {
  final DateTime now = DateTime.now();  // ์‹คํ–‰ ์‹œ์ ์—์„œ ๊ฐ’์ด ๊ฒฐ์ •๋จ
  print(now);

  // now = DateTime.utc(2023, 12, 31); // โŒ ์˜ค๋ฅ˜ ๋ฐœ์ƒ (final ๋ณ€์ˆ˜๋Š” ์žฌํ• ๋‹น ๋ถˆ๊ฐ€)
}

โœ… ์ •๋ฆฌ

  • final์€ ๊ฐ’์ด ํ•œ ๋ฒˆ๋งŒ ์„ค์ •๋˜๋ฉด ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์Œ
  • ์ปดํŒŒ์ผ ํƒ€์ž„์ด ์•„๋‹Œ ๋Ÿฐํƒ€์ž„์—์„œ ๊ฐ’์ด ์ •ํ•ด์งˆ ์ˆ˜๋„ ์žˆ์Œ

โžก const์™€ ๋‹ฌ๋ฆฌ ์‹คํ–‰ ์‹œ์ ์—์„œ ๊ฐ’์ด ์ •ํ•ด์ง€๋Š” ๊ฒฝ์šฐ final์„ ์‚ฌ์šฉ! ๐Ÿš€


Step 5: const vs final ์ฐจ์ด์  ์™„๋ฒฝ ์ •๋ฆฌ

 

 

๐Ÿ“Œ const์™€ final์€ 

๋ชจ๋‘ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋Š” ์ƒ์ˆ˜์ด์ง€๋งŒ,

์–ธ์ œ ๊ฐ’์ด ๊ฒฐ์ •๋˜๋Š”์ง€์— ๋”ฐ๋ผ

 ์‚ฌ์šฉ๋ฒ•์ด ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

 

์ฐจ์ด์  const final
๊ฐ’ ๋ณ€๊ฒฝ ์—ฌ๋ถ€ โŒ ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€๋Šฅ โŒ ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€๋Šฅ
๊ฐ’ ๊ฒฐ์ • ์‹œ์  ์ปดํŒŒ์ผ ํƒ€์ž„ ๋Ÿฐํƒ€์ž„
ํด๋ž˜์Šค ๋‚ด์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ ์—ฌ๋ถ€ โœ… ์‚ฌ์šฉ ๊ฐ€๋Šฅ โœ… ์‚ฌ์šฉ ๊ฐ€๋Šฅ
์‹คํ–‰ ์ค‘ ๊ฐ’ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ ์—ฌ๋ถ€ โŒ ๋ถˆ๊ฐ€๋Šฅ โŒ ๋ถˆ๊ฐ€๋Šฅ
์‚ฌ์šฉ ์˜ˆ์‹œ const pi = 3.14; final today = DateTime.now();

๐Ÿš€ ์š”์•ฝ:

  • ์ปดํŒŒ์ผ ํƒ€์ž„์— ๊ฐ’์ด ํ™•์ •๋˜์–ด์•ผ ํ•œ๋‹ค๋ฉด → const
  • ๋Ÿฐํƒ€์ž„์—์„œ ๊ฐ’์ด ๊ฒฐ์ •๋˜๋Š” ๊ฒฝ์šฐ → final

 

โžก Flutter UI ์š”์†Œ๋ฅผ ์ตœ์ ํ™”ํ•˜๋ ค๋ฉด const๋ฅผ ์ ๊ทน ํ™œ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค! ๐ŸŽฏ

 


โ…ข. ์–ธ์ œ ์–ด๋–ค ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”๊ฐ€? โœ…

 

์ด์ œ๊นŒ์ง€ ๋ฐฐ์šด ๋‚ด์šฉ์„ ์ •๋ฆฌํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.


Dart์—์„œ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•  ๋•Œ

์–ด๋–ค ์ƒํ™ฉ์—์„œ

์–ด๋–ค ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”์ง€

์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

void main() {
  var language = 'Dart'; // ํƒ€์ž… ์ž๋™ ์ง€์ • (String)
  dynamic value = '๋ณ€๊ฒฝ ๊ฐ€๋Šฅ'; // ํƒ€์ž… ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ
  const double pi = 3.1415; // ๋ณ€ํ•˜์ง€ ์•Š๋Š” ์ƒ์ˆ˜
  final DateTime today = DateTime.now(); // ๋Ÿฐํƒ€์ž„์— ๊ฒฐ์ •๋˜๋Š” ์ƒ์ˆ˜

  print('๐Ÿ’ก ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด: $language');
  print('๐Ÿ”„ dynamic ๊ฐ’: $value');
  
  value = 42; // dynamic์€ ํƒ€์ž… ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ
  print('๐Ÿ”„ dynamic ๊ฐ’ ๋ณ€๊ฒฝ ํ›„: $value');

  print('๐Ÿ”ข ์›์ฃผ์œจ (const): $pi');
  print('๐Ÿ“… ์˜ค๋Š˜ ๋‚ ์งœ (final): $today');
}

์ถ”๋ก  ๋ณ€์ˆ˜ ๊ธฐ์ดˆ ์˜ˆ์ œ.txt
0.00MB

 

 

์ตœ์ ์˜ ๋ณ€์ˆ˜ ์„ ์–ธ ๋ฐฉ์‹ ์„ ํƒํ•˜๊ธฐ

 

โœ… ๋ณ€๊ฒฝ ๊ฐ€๋Šฅํ•œ ๋ณ€์ˆ˜ → var (ํƒ€์ž…์ด ๋ณ€ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ)
โœ… ๋™์  ํƒ€์ž…์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ → dynamic (๊ฐ€๋Šฅํ•œ ํ•œ ์‚ฌ์šฉ ์ง€์–‘)
โœ… ์ ˆ๋Œ€ ๋ณ€ํ•˜์ง€ ์•Š๋Š” ์ƒ์ˆ˜ → const (์ปดํŒŒ์ผ ํƒ€์ž„ ๊ฒฐ์ •)
โœ… ํ•œ ๋ฒˆ๋งŒ ์„ค์ •๋˜์ง€๋งŒ ์‹คํ–‰ ์ค‘ ๊ฒฐ์ •๋˜๋Š” ๊ฐ’ → final (๋Ÿฐํƒ€์ž„ ๊ฒฐ์ •)


๋ณ€์ˆ˜ ์„ ์–ธ ์‹œ ์ฃผ์˜ํ•  ์ 

 

โœ… ๋ฌด์กฐ๊ฑด dynamic์„ ์‚ฌ์šฉํ•˜๋ฉด ํƒ€์ž… ์˜ค๋ฅ˜๋ฅผ ์ฐพ๊ธฐ ์–ด๋ ค์›€ → var์„ ์„ ํ˜ธ
โœ… Flutter UI์—์„œ const๋ฅผ ์ ๊ทน ํ™œ์šฉํ•˜๋ฉด ์„ฑ๋Šฅ ์ตœ์ ํ™” ๊ฐ€๋Šฅ
โœ… ์ƒ์ˆ˜ ๊ฐ’์„ ๋‹ค๋ฃฐ ๋•Œ final๊ณผ const ์ฐจ์ด๋ฅผ ๋ช…ํ™•ํžˆ ์ดํ•ดํ•˜๊ณ  ์„ ํƒ

 

์ฆ‰, 

Dart์—์„œ ๋ณ€์ˆ˜ ์„ ์–ธ ์‹œ

์ƒํ™ฉ์— ๋”ฐ๋ผ

์ ์ ˆํ•œ ํ‚ค์›Œ๋“œ ์‚ฌ์šฉํ•˜์—ฌ์•ผ ํ•˜๊ณ 


๋ณ€๊ฒฝ ๊ฐ€๋Šฅ์„ฑ์— ๋”ฐ๋ผ

var, final, const๋ฅผ

์˜ฌ๋ฐ”๋ฅด๊ฒŒ ํ™œ์šฉํ•˜๋ฉฐ


const๋Š”

์ปดํŒŒ์ผ ํƒ€์ž„ ์ƒ์ˆ˜,

final์€ ๋Ÿฐํƒ€์ž„ ์ƒ์ˆ˜๋ผ๋Š” ๊ฒƒ์„

์•Œ์•˜์Šต๋‹ˆ๋‹ค. 

 

728x90
728x90

'Flutter (์•ฑ ๊ฐœ๋ฐœ) > Dart ์ฝ”๋“œ ์ฒจ๋ถ€ ํŒŒ์ผ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Dart ๋ณ€์ˆ˜์™€ ๋ฐ์ดํ„ฐ ํƒ€์ž…] ์ˆซ์ž(Number) ํƒ€์ž…๊ณผ ์—ฐ์‚ฐ์ž ํ™œ์šฉ๋ฒ•(๋ช…๋ น ํ”„๋กฌํ”„ํŠธ ์ฒจ๋ถ€ ํŒŒ์ผ ์ œ๊ณต)  (1) 2025.02.23
[Dart ๋ณ€์ˆ˜์™€ ๋ฐ์ดํ„ฐ ํƒ€์ž…] Dart์—์„œ ๋ฌธ์ž์—ด(String) ๋‹ค๋ฃจ๊ธฐ ๋ฐ ์ฃผ์š” ๋ฉ”์„œ๋“œ(๋ช…๋ น ํ”„๋กฌํ”„ํŠธ ์ฒจ๋ถ€ ํŒŒ์ผ ์ œ๊ณต)  (1) 2025.02.23
[Dart ๋ณ€์ˆ˜์™€ ๋ฐ์ดํ„ฐ ํƒ€์ž…] Dart์˜ ์ฃผ์š” ๋ฐ์ดํ„ฐ ํƒ€์ž… (int, double, String, bool)(๋ช…๋ น ํ”„๋กฌํ”„ํŠธ ์ฒจ๋ถ€ ํŒŒ์ผ ์ œ๊ณต)  (0) 2025.02.23
[Dart ๋ณ€์ˆ˜์™€ ๋ฐ์ดํ„ฐ ํƒ€์ž…] Dart์—์„œ ๋ณ€์ˆ˜์™€ ๋ฐ์ดํ„ฐ ํƒ€์ž… ์ดํ•ดํ•˜๊ธฐ(๋ช…๋ น ํ”„๋กฌํ”„ํŠธ ์ฒจ๋ถ€ ํŒŒ์ผ ์ œ๊ณต)  (1) 2025.02.23
[Dart ์–ธ์–ด ๊ธฐ์ดˆ ๋ฌธ๋ฒ•] Dart ํ”„๋กœ๊ทธ๋žจ์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐ ๋ฐ main() ํ•จ์ˆ˜ (๋ช…๋ น ํ”„๋กฌํ”„ํŠธ ์ฒจ๋ถ€ ํŒŒ์ผ ์ œ๊ณต)  (1) 2025.02.23