Variables

1. ์ž๋ฃŒํ˜•์„ ์„ ์–ธ

String kuku = 'Kuku';
int kukuAge = 2;

2. var

// guessString = 1; => ์˜ค๋ฅ˜ ๋ฐœ์ƒ
// ์ฒซ๋ฒˆ์งธ ์„ ์–ธ๋œ ๋ณ€์ˆ˜๊ฐ€ string์œผ๋กœ ์ถ”๋ก ๋˜๋ฏ€๋กœ ์ดํ›„, ๋‹ค๋ฅธ ๊ฐ’ ํ• ๋‹น X

var guessString = 'Kuku2';
  • ํƒ€์ž… ์ถ”๋ก ์„ ํ—ˆ์šฉํ•˜๋Š” ๋ณ€์ˆ˜ ์„ ์–ธ

  • ์ฒ˜์Œ ํ• ๋‹น๋œ ๋ณ€์ˆ˜์˜ ์ถ”๋ก  ํƒ€์ž… ์ด์™ธ์˜ ๊ฐ’์„ ํ• ๋‹นํ•˜๋Š” ๊ฒƒ์ด ๋ถˆ๊ฐ€๋Šฅํ•จ.

3. dynamic

dynamic guessDynamic = 'Kuku3';
guessDynamic = 123;
guessDynamic = 123.456;
guessDynamic = true;
  • ๋‹จ์ผํƒ€์ž…์œผ๋กœ ์ œํ•œ๋˜์ง€ ์•Š๋Š” ๋ณ€์ˆ˜ ์„ ์–ธ

  • var์™€ ๋‹ฌ๋ฆฌ ์ฒ˜์Œ ํ• ๋‹น๋œ ๊ฐ’์˜ ์ž๋ฃŒํ˜•์ด ๋ฌด์—‡์ด๋“  ์ƒ๊ด€์—†์ด ๋‹ค๋ฅธ ๊ฐ’ ํ• ๋‹น ๊ฐ€๋Šฅ

4. final

final finalString;
finalString = 'This is Final String';
print(finalString);
  • ์ดˆ๊ธฐ๊ฐ’์„ ํ• ๋‹นํ•œ ์ดํ›„, ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€.

  • ๋ณ€์ˆ˜ ์„ ์–ธ๊ณผ ์ดˆ๊ธฐํ™”๋ฅผ ๋‹ค๋ฅธ ์‹œ์ ์— ํ• ๋‹นํ•  ์ˆ˜ ์žˆ์Œ.

  • ๋Ÿฐํƒ€์ž„ ์‹œ์ ์— ์ดˆ๊ธฐํ™”๊ฐ€ ์ด๋ฃจ์–ด์ง„๋‹ค.

  • ๋Ÿฐํƒ€์ž„ ์‹œ์ ์— ์ดˆ๊ธฐํ™” ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์–ด๋–ค ํ•จ์ˆ˜์˜ ์‹คํ–‰๊ฐ’ ๋“ฑ, ๋Ÿฐํƒ€์ž„์— ๋ฐœ์ƒํ•˜๋Š” ๊ฐ’๋“ค์„ ํ• ๋‹นํ• ๋•Œ ์‚ฌ์šฉ๋œ๋‹ค.

5. const

const constString = 'This is Const String';
print(constString);
  • ์ดˆ๊ธฐ๊ฐ’์„ ํ• ๋‹นํ•œ ์ดํ›„, ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€.

  • ์ปดํŒŒ์ผ ํƒ€์ž„ ์ƒ์ˆ˜์ด๊ธฐ ๋•Œ๋ฌธ์— final๊ณผ ๋‹ฌ๋ฆฌ ์ปดํŒŒ์ผ ์‹œ์ ์— ์ดˆ๊ธฐํ™”๊ฐ€ ์ด๋ฃจ์–ด์ง„๋‹ค.

  • ์„ ์–ธ๊ณผ ์ดˆ๊ธฐํ™”๋ฅผ ๋‹ค๋ฅธ ์‹œ์ ์— ํ•  ์ˆ˜ ์—†์Œ.

6. late

class lateTest {
  // late ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ ์–ธ์„ ๋จผ์ €ํ•˜๊ณ  ๋‚˜์ค‘์— ๋ณ€์ˆ˜ ์ดˆ๊ธฐํ™”๋ฅผ ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๋ฆผ
  late String name;

  // setName ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด name ๋ณ€์ˆ˜ ์ดˆ๊ธฐํ™”
  void setName(String newName) {
    name = newName;
  }

/**
 * ๋งŒ์•ฝ setName ๋ฉ”์„œ๋“œ๋ฅผ ๋จผ์ € ํ˜ธ์ถœํ•˜์ง€ ์•Š๊ณ  Hi ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด
 * LateInitializationError: Field 'name' has not been initialized. ์—๋Ÿฌ ๋ฐœ์ƒ
 * => ๋ณ€์ˆ˜๊ฐ€ ์ดˆ๊ธฐํ™” ๋˜๊ธฐ ์ „์— ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ คํ•ด์„œ ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ.
 */
  String Hi() {
    return 'Hi, $name';
  }
}
  • ๋ณ€์ˆ˜ ์„ ์–ธ์‹œ, ์ดˆ๊ธฐํ™”๋ฅผ ๋ฏธ๋ฃฐ์ˆ˜ ์žˆ์Œ. (์„ ์–ธ๊ณผ ์ดˆ๊ธฐํ™” ์‹œ์ ์„ ๋‹ค๋ฅด๊ฒŒ ํ• ๋•Œ ์‚ฌ์šฉ.)

7. typedef

typedef Operation(int x, int y);

void add(int x, int y) {
  print(x + y);
}

void subtract(int x, int y) {
  print(x - y);
}

void operationTest() {
  Operation addOperation = add;
  Operation subtractOperation = subtract;
  addOperation(1, 2);
  subtractOperation(1, 2);
}

void calculator(int x, int y, Operation operation) {
  operation(x, y);
}

void main() {
  calculator(1, 2, add);
  calculator(1, 2, subtract);
}
  • ts์˜ type, interface ์ฒ˜๋Ÿผ, ํŠน์ • ๊ฐ์ฒด์— ๋Œ€ํ•œ ๋ณ„์นญ์„ ์ง€์ •ํ•œ๋‹ค.

    Docs - typedef is a concise way to refer to a type

  • ts ์ฒ˜๋Ÿผ, typedef์— generic ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

typedef Compare<T> = int Function(T a, T b);

int sort(int a, int b) => a - b;

Last updated