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