์ฌ๋ฌ ๊ธฐ์ ๋ค์ ์ฑ์ฉ๊ณต๊ณ ๋ฅผ ๋ณด๋ฉด ์ฐ๋์ฌํญ์ "์ ์ ํ์ดํ ๊ฐ๋ฐ์ ์น์ํ ์ฌ๋" ์ด๋ผ๋ ๋ฌธ๊ตฌ๊ฐ ๋ง์ต๋๋ค...!! ๊ทธ๋ ๋ค๋ฉด ๋์ฒด ์ ์ ํ์ดํ์ ๋ญ๊ณ ๊ธฐ์ ๋ค์ ์ ์ ์ ํ์ดํ ๊ฐ๋ฐ์ ์ํ ๊น์?
๊ฒฐ๋ก ๋ถํฐ
๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ฅผ ํจ์จํํ์ฌ ํ๋ก๊ทธ๋จ ์ฑ๋ฅ์ ์ต์ ํ ์ํค๊ธฐ ๋๋ฌธ์ด ์๋๊น??
์ผ๋จ ์ ์ด๋ ๋๋ ๊ทธ๋ ๊ฒ ์๊ฐํ๋ค. ์ง๊ธ์ ์ปดํจํฐ์ ์ฑ๋ฅ์ด ์๋ ์ข์์ ๋ฉ๋ชจ๋ฆฌ ๊ฐ์ ๋ฑํ ์ ๊ฒฝ์ฐ์ง ์์๋ ๋ฌด์ธ๊ฐ๋ฅผ ๋ง๋ค์ ์๊ฒ ๋์๋๋ฐ, ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์๊ฐํ์ง ์๋ ํ๋ก๊ทธ๋จ์ ์ง์ํด์ ๋ฐ์ ๊ฐ๋ฅ์ฑ์ด ์๋ ํ๋ก๊ทธ๋จ ์๋๊น..?!
์ ์ ํ์ดํ vs ๋์ ํ์ดํ
Dart์์์ ์ ์ ํ์ดํ์ ๋ญ๊ณ ๋์ ํ์ดํ์ ๋ญ๊น?
์ ์ ํ์ดํ
๋ณธ๋ก ์ผ๋ก ๋์์์ Dart์์ ์ ์ ํ์ดํ์ด๋ ๋ฌด์์ผ๊น? ๋ง๋ก ์ค๋ช ํ๋ฉด ์ด๋ ค์ฐ๋ ์ฝ๋๋ถํฐ ๋ณด์
void main() {
// ์ ์ํ ๋ณ์ ์ ์ธ
int number = 42;
print(number); //42
// ๋ฌธ์์ด ๋ณ์ ์ ์ธ (์ ์ ํ์ดํ์ ๋ฐ๋ผ ์ค๋ฅ ๋ฐ์)
// number = "Hello"; // ์ฃผ์ ํด์ ์ ์ค๋ฅ ๋ฐ์
number = 51;
print(number); //51
//์ ์ ํ์ดํ์ ์ฌ์ฉํ๋๊ฒฝ์ฐ, ๊ฐ์ ํ์
๊ฐ๋ง ์ฌํ ๋น์ด ๊ฐ๋ฅํ๋ค
}
์ฝ๋์์ ๋จผ์ intํ ๋ณ์์ธ number๋ฅผ ์ ์ธํ๋ค. ๊ทธ๋ฆฌ๊ณ ์๋์ ์ฃผ์ ์ฒ๋ฆฌํ ๋ถ๋ถ์ ๋ณด๋ฉด "Hello"๋ผ๋ ๊ฐ์ ์ฌํ ๋น ํ๋ ค๊ณ ํ์ง๋ง, ์ด๋ฏธ intํ์ด๋ผ๊ณ ์ ์ธํ๊ธฐ ๋๋ฌธ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค.
๋ค์์ number๋ณ์์ 51์ด๋ผ๋ ๊ฐ์ ๋ฃ์์ ๋๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ง ์๊ณ 51์ด ์ ์ ์ถ๋ ฅ๋๋๊ฒ์ ํ์ธ ํ ์ ์๋ค.
์ด์ฒ๋ผ, ์ ์ ํ์ดํ์์๋ ๋ณ์๋ฅผ ์ ์ธํ ๋ ๊ทธ ๋ณ์์ ํ์ ์ ๋ช ์ํด์ผ ํ๋ค.
๋ํ, ์ฒ์ ์ ์ธํ๋ ์๋ฃํ์ผ๋ก๋ง ๊ฐ์ ์ฌํ ๋น ํ ์ ์๋ค.
๋์ ํ์ดํ
๊ทธ๋ ๋ค๋ฉด Dart์์ ๋์ ํ์ดํ์ด๋ ๋ฌด์์ผ๊น? ์ด๊ฒ๋ํ ์ฝ๋๋ถํฐ ๋ณด์
void main() {
// ๋์ ํ์ดํ์ ์ฌ์ฉํ์ฌ ๋ณ์ ์ ์ธ
dynamic dynamicVariable = 42;
// ๋์ ํ์ดํ์ ๋ฐ๋ผ ์ฌ๋ฌ๊ฐ์ง ๊ฐ์ ํ ๋น
dynamicVariable = "Hello";
print(dynamicVariable); //Hello
dynamicVariable = true;
print(dynamicVariable); //true
dynamicVariable = 12.9;
print(dynamicVariable); //12.9
dynamicVariable = null;
print(dynamicVariable); //null
dynamicVariable = "Success!";
print(dynamicVariable); //Success!
//๋์ ํ์ดํ์ ์ฌ์ฉํ๋ฉด ์ฌ๋ฌ๊ฐ์ง ํ์
๊ฐ์ ๊ณ์ ์ฌํ ๋น ํ ์ ์์
}
๋์ ํ์ดํ์์๋ dynamic ์๋ฃํ์ผ๋ก ๋ณ์๋ฅผ ์ ์ธํ๊ณ , 42์ด๋ผ๋ ์ ์ํ ๊ฐ์ด ๋ค์ด๊ฐ๋ค.
ํ์ง๋ง, dynamicVariable๊ฐ์ "Hello", true, 12.9, null ๋ฑ๋ฑ ์ฌ๋ฌ๊ฐ์ง ์๋ฃํ์ ๋ฃ์ด๋ ์ค๋ฅ๊ฐ ๋์ง ์๊ณ ์ ์ ์ถ๋ ฅ๋๋๊ฒ์ ํ์ธํ ์ ์๋ค.
๋์ ํ์ดํ์ ์ฌ์ฉํ๋ฉด ์ฌ๋ฌ๊ฐ์ง ํ์ ๊ฐ์ ๊ณ์ ์ฌํ ๋น ํ ์ ์๋ค.
๋ฌด์์ด ๋ ์ข์๊ฒ์ผ๊น?
์ผ๋จ ์ค๋ช
๋ง ๋ค์ด๋ณธ๋ค๋ฉด ์ด? ๋์ ํ์ดํ์ด ํจ์ฌ ์ข์๊ฑฐ ์๋๊ฐ? ๋ผ๊ณ ์๊ฐํ ์๋ ์๋ค.
๋ฌผ๋ก ๋์ ํ์ดํ ๋ฐฉ์์ ์ฌ์ฉํ๊ฒ ๋๋ค๋ฉด ํ์
์ ์ ๊ฒฝ์ฐ์ง ์์๋ ๋๊ธฐ ๋๋ฌธ์ ๋งค์ฐ๋งค์ฐ ํธํ ์ ์๋ค.
ํ์ง๋ง, ํ์
์ ์กฐ์ํ๋๊ฒ์ ๋ํด ์ ํ์ด ์๊ธฐ๊ณ , ํ์
๋ณํ์ ๋ํด ์ถ๋ ฅ๊ฐ์ด ์ด์๊ฐ์ด ๋์ฌ ์ ์๋ค. ๋ํ, ๋ฉ๋ชจ๋ฆฌ ํจ์จ์ฑ ์ธก๋ฉด์์ ์ ์ ํ์ดํ ๋ฐฉ์์ด ํจ์จ์ ์ด๋ค.
์๋ก์ ์ฅ๋จ์ ์ด ์๊ฒ ์ง๋ง, ๊ฐ์ธ์ ์ผ๋ก ์ ์ ํ์ดํ ๋ฐฉ์์ด ์ข ๋ ๊ด์ฐฎ์๊ฑฐ๋ผ๊ณ ์๊ฐํ๋ค.
๋ง๋ฌด๋ฆฌํ๋ฉฐ
์์ ์ ํผ์ ์ฝ๋ฉํ ๋๋ ๋ฌด์กฐ๊ฑด์ ์ผ๋ก ๋์ ํ์ดํ ๋ฐฉ์์ด ํธํด์ ๊ทธ ๋ฐฉ์์ ๊ณ ์งํ์ง๋ง, ์ง๊ธ์ ์์๋ ์ ์ ํ์ดํ ๋ฐฉ์์ผ๋ก ์ฝ๋๋ฅผ ์ง๋ ค๊ณ ๋ง์ด ๋
ธ๋ ฅ์ค์ธ๊ฒ ๊ฐ๋ค.
๋ค๋ค ํ์ดํ
ํ์..!!
'๐ป ๊ฐ๋ฐ > Flutter' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Flutter] android studio์์ Flutter ํ๋ก์ ํธ ๋ง๋ค๊ธฐ (0) | 2024.05.29 |
---|---|
[Flutter] MissingPluginException(No implementation found for method initialise on channel flutter.stripe/payments) (0) | 2024.05.29 |
[Flutter] ์ฐ์ฐ (0) | 2024.05.27 |
[Flutter] ๋ณ์ (0) | 2024.05.27 |
Flutter๋ ๋ฌด์์ผ๊น? (0) | 2024.05.23 |