ํ๋ฌํฐ๋ฅผ ์จ๋ณด๋ ค๋ค๊ฐ ๋คํธ๋ฅผ ๊ณต๋ถํ๊ธฐ ์์..
Dart ๊ฐ ์ด๋ค ์ธ์ด์ธ์ง์๋ํ ๊ฐ๋ตํ ์๊ฐ๋ด์ฉ์ ๊ณต์๋ฌธ์์์ ์ฝ์ด๋ดค์ต๋๋ค.
์ผํ ๋ณด๋ ์๋ฐ์ ๋งค์ฐ ์ ์ฌํฉ๋๋ค.
๊ฐ์ฒด์งํฅ ์ธ์ด์ด๊ณ ๋ณ์, loop, ๋ฉ์๋, ํด๋์ค ๋ฑ๋ฑ ๋งค์ฐ ๋ง์ ๋ถ๋ถ์์ ์ ์ฌํ ์ ์ ๋ณด์ด๊ณ ์์.
์๋ฐ์ ๋คํธ์ ์ฐจ์ด์ ์ ๋์ดํด๋ณด์๋ฉด..๋คํธ๋ ์๋์ ๊ฐ์ ํน์ง ๋๋ ๊ธฐ๋ฅ์ด ์์ต๋๋ค.
- primitive(์์) ํ์ ์ด ์์. ์๋ฐ์ ๊ฒฝ์ฐ int, long, double ๊ณผ ๊ฐ์ ์์ํ์ ๊ณผ ์ด ์์ํ์ ๋ค์ wrapper ํด๋์ค์ธ Integer, Long, Double ๋ฑ์ด ์กด์ฌํ์ง๋ง, ๋คํธ๋ ๋ชจ๋ ํ์ ์ด Object ์.
- ๋ณ์ ์ฌ์ฉ๋ฒ (์ถ๋ ฅ์ ๋ฌธ์์ด์ "์ด๊ฑธ ์ถ๋ ฅํ ๊ฑด๋ฐ ๋ณ์๋ช ์ ๋ถ์์ด์ $๋ณ์๋ช " ์ด๋ ๊ฒ ์จ์ฃผ๋ฉด $๋ณ์๋ช ์ด ๋ณ์๊ฐ ๋ค๊ณ ์๋ ๊ฐ์ผ๋ก ์นํ๋์ด ์ถ๋ ฅ๋จ. ์๋ฐ์ ๊ฒฝ์ฐ String.format ์ ์ด์ฉํด์ผ ํ์), ๋ณ์๋ช ์๋ฆฌ์ {expression} ์ ์ฌ์ฉํ์ฌ ๊ณ์ฐ์์ ์ฌ์ฉํ ์๋ ์์
- null safety (Dart 2.12 ๋ฒ์ ๋ถํฐ ์๊น. ์๋ฐ์ NPE ์๋ฐฉ์ ๊ฐ๋ฐ์๊ฐ ์๋ ์ปดํ์ผ๋ฌ๊ฐ ํด์ฃผ๋๋ก ํ ๊ธฐ๋ฅ์ผ๋ก ๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ ๊ฐ์ฒด๋ non-nullable ๋ก ์ทจ๊ธํจ. ๋ค๋ง ? ๊ธฐํธ๋ฅผ ์ด์ฉํด์ nullable ๊ฐ์ฒด๋ผ๊ณ ๋ช ์์ ์ผ๋ก ์ ์ธํ๋ฉด null ๊ฐ๋ ์ฌ์ฉํ ์ ์์, ๊ณต์๋ฌธ์ ์ฐธ๊ณ )
- private, protected, public, default ๊ฐ์ ์ ๊ทผ์ ํ์(access modifier)๊ฐ ์์. ๋ค๋ง ์ด๋ฆ์ด ๋ฐ์ค๋ก ์์ํ๋ฉด ํด๋น ๋ผ์ด๋ธ๋ฌ๋ฆฌ(ํด๋์ค?)์ privateํ ๊ฒ์ด ๋จ.
- ๋คํธ์ int ํ์ ์ 64 ๋นํธ signed ๊ฐ์ด๊ณ ํ๋ซํผ์ ๋ฐ๋ผ ๋ฒ์๊ฐ ์ฝ๊ฐ ๋ค๋ฆ (๊ณต์๋ฌธ์)
๋ญ ์ด์ธ์๋ lexical scope, lexical closure ๋ฑ ์ฌ๋ฌ ๋ถ๋ถ์์ ๋ค๋ฅธ ๋ถ๋ถ๋ค์ด ๋ณด์๋๋ฐ ์ฌ๊ธฐ ๋ค ๋์ดํ ์๋ ์๊ณ ,
์ ์ฒด์ ์ธ ๋๋์ ์๋ฐ์ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ํฉ์ณ๋์ ์ธ์ด๋ผ๋ ๋๋์ ๋ฐ์์ต๋๋ค. (ํด๋ณธ๊ฒ Java๋ Javascript ๋ฟ์ด๋ผ.. ใ )
์ฐธ๊ณ ๋ก ๋คํธํจ๋์์ ์ด๋ฐ์ ๋ฐ ๋คํธ์ฝ๋๋ค์ ์ํํด๋ณผ ์ ์์ต๋๋ค.
'๐ป Programming > Flutter & Dart & Flame' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Flame] ๊ฒ์๊ฐ๋ฐ ๋ฐ ์ถ์ ์๋ฃ (1) | 2023.12.08 |
---|---|
[Flame] ๊ฒ์ ๊ฐ๋ฐ 1์ผ์ฐจ (0) | 2023.02.09 |
[Flutter] ๋ฐฑ์๋ ๊ฐ๋ฐ์์ Flutter ์ ๋ฌธ๊ธฐ (1) | 2023.02.01 |
[Flutter] Day 3 - ๊ธฐ๋ณธ ์์ ฏ๋ค ๊ตฌํํด๋ณด๊ธฐ (0) | 2023.01.21 |
[Flutter] Day 1 - ์ค์น ๋ฐ ๋ฐ๋ชจ์ฑ ์์ฑ/์คํ (0) | 2023.01.18 |