Dart, Flutter/๐Ÿณ Basic

# Flutter UI์™€ Dart ์–ธ์–ด๋ฅผ ํ™œ์šฉํ•œ ์•ฑ/์›น ์ทจ๋ฏธ ๊ฐœ๋ฐœ ๊ณต๊ฐ„์ž…๋‹ˆ๋‹ค.
์˜ค๋žœ๋งŒ์— ๋‹คํŠธ ๊ธ€๋กœ ๋Œ์•„์™”๋‹ค. ์ „๊ณต ์ˆ˜์—…๊ณผ ๋ฐ”์œ ์ผ์ • ์ค‘์— ํ‹ˆํ‹ˆํžˆ ๊ธ€์„ ์จ๋ณด๋ ค๊ณ  ๋…ธ๋ ฅ ์ค‘์ด์ง€๋งŒ... ์ฐธ ์‰ฝ์ง€ ์•Š๋‹ค ใ… ใ…  ๊ทธ๋ž˜๋„ ๊พธ์ค€ํ•จ์ด ์ค‘์š”ํ•œ ๊ฒƒ ์•„๋‹ˆ๊ฒ ๋Š”๊ฐ€! ์ทจ๋ฏธ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋‹ค!! ์ผ๋‹จ ์‹œ์ž‘ํ–ˆ์œผ๋ฉด ๋์„ ๋ด์•ผ์ง€! ์ด๋ฒˆ์—” , ์ด๋ผ๊ณ ๋„ ํ•˜๋Š” '๋ฐ์ดํ„ฐ์˜ type' ์— ๋Œ€ํ•œ ๋‚ด์šฉ์ด๋‹ค. ์•ž์„œ Dart๋Š” ์ •์ˆ˜(integer)์™€ ์‹ค์ˆ˜(double)์„ ์ง€์›ํ•œ๋‹ค๊ณ  ๋ฐฐ์› ๋‹ค. ๊ทธ๋ฆฌ๊ณ  var/dynamic/object ํƒ€์ž…์„ ์‚ฌ์šฉํ•ด๋„ ๋ณ€์ˆ˜ ํƒ€์ž…์˜ ์ €์žฅ์ด ๊ฐ€๋Šฅํ•จ์„ ์•Œ๊ณ  ์žˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด, ๊ฐ ํƒ€์ž… ์ง€์ •์— ๋”ฐ๋ผ ์ˆซ์ž๋“ค์˜ ๊ณ„์‚ฐ์€ ์–ด๋–ป๊ฒŒ ํ•˜๊ณ , ์‚ฌ์šฉ์€ ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ?? ๋˜ String type๊ณผ Boolean Type์€ ๋‹ค๋ฅธ ์–ธ์–ด๋“ค์ฒ˜๋Ÿผ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ• ๊นŒ? 1. ์ •์ˆ˜ํ˜• ๋ฐ์ดํ„ฐ (Integer Type) ํ”ํžˆ int ํ˜•, integer ํƒ€..
์ด๋ฒˆ์—” ๋ณ€์ˆ˜(variable)์™€ ์ƒ์ˆ˜(constant)๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๊ตฌ์„ฑ ์š”์†Œ๋กœ, ์–ธ์–ด๋งˆ๋‹ค ์„ ์–ธํ•˜๋Š” ๋ฐฉ์‹ ํ˜น์€ ์ €์žฅ ๋ฐฉ์‹ ๋“ฑ์—์„œ ์•ฝ๊ฐ„์”ฉ ์ฐจ์ด๊ฐ€ ์กด์žฌํ•œ๋‹ค. But, '๋ณ€์ˆ˜: ๋ณ€ํ•˜๋Š” ๊ฐ’, ์ƒ์ˆ˜: ํ•ญ์ƒ ๋˜‘๊ฐ™์€ ๊ฐ’'์ด๋ผ๋Š” ๊ฐœ๋…์ด ๋จธ๋ฆฌ์— ๋“ค์–ด์žˆ๋‹ค๋ฉด ์ดํ•ดํ•˜๋Š”๋ฐ ์–ด๋ ต์ง€ ์•Š๋‹ค. ์–ธ์–ด๋งˆ๋‹ค ์•ฝ๊ฐ„์˜ ์ฐจ์ด๊ฐ€ ์žˆ์„ ๋ฟ, ๊ทธ ์˜๋ฏธ์™€ ๋ณธ์งˆ์€ ๊ฐ™๊ธฐ ๋•Œ๋ฌธ์— Dart์—์„œ๋„ ๋™์ผํ•œ ๊ฐœ๋…์ด ์ ์šฉ๋œ๋‹ค. ์˜ˆ์‹œ ์ฝ”๋“œ๋ฅผ ํ†ตํ•ด ํ•œ ๋ฒˆ ์‚ดํŽด๋ณด์ž. myInt : intํ˜• ๋ณ€์ˆ˜, ๊ฐ’์€ 1. myDouble : doubleํ˜• ๋ณ€์ˆ˜, ๊ฐ’์€ 1.0 myString : Stringํ˜• ๋ณ€์ˆ˜, ๊ฐ’์€ "Jason Lee" int type, double type, String type ๋ชจ๋‘ ์ด๋ฏธ ํ• ๋‹น๋œ type์— ๋”ฐ๋ผ ๋ณ€์ˆ˜๋“ค์€ ๋‹ค๋ฅธ type์˜ ..
Microsoft์˜ VS code๋ฅผ ๋‹ค๋“ค ์•Œ ๊ฒƒ์ด๋‹ค. ์™œ ๋œฌ๊ธˆ์—†์ด ์—๋””ํ„ฐ๋ฅผ ์–ธ๊ธ‰ํ•˜๋Š๋ƒ? ์ฒซ ํฌ์ŠคํŒ…์—์„œ๋„ ์–ธ๊ธ‰ํ–ˆ๋‹ค์‹œํ”ผ, ๋Œ€๋ถ€๋ถ„์˜ ๊ฐœ๋ฐœ์ž๋“ค์ด๋ผ๋ฉด MSVC์™€ ๊ฐ™์ด ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์‹œ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ํƒ€์ดํ•‘ํ•  ๋•Œ ์—๋””ํ„ฐ(editor)๋ผ๊ณ  ํ•˜๋Š” ๊ฑธ ๋งŽ์ด ์“ธ ๊ฒƒ์ด๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ์—๋””ํ„ฐ๋Š” ํƒ€์ดํ•‘์„ ํŽธํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ์ˆ˜์ค€์ด์ง€๋งŒ, MSVC๋Š” ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ• ๋•Œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์— ๋งž๋Š” ๋‹ค์–‘ํ•˜๊ณ  ํŽธ๋ฆฌํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜์—ฌ, ํ”„๋กœ๊ทธ๋žจ์˜ ์˜ค๋ฅ˜๋ฅผ ์ดˆ๊ธฐ์— ์ œ๊ฑฐํ•˜๋Š” ์šฉ๋„๊ฐ€ ๋งŽ์ด ๋“ค์–ด ์žˆ๋‹ค. (์ด ๊ธฐ๋Šฅ์ด ๊ต‰์žฅํžˆ ๊ฐ•๋ ฅํ•จ!!) ๋ฐ˜๋ฉด์— IDE(Integrated Development Environment)๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ์†Œํ”„ํŠธ์›จ์–ด๋„ ์žˆ๋‹ค. ๋Œ€ํ‘œ์ ์œผ๋กœ MS์˜ Visual Studio, Apple์˜ Xcode, ์˜คํ”ˆ์†Œ์Šค์ธ Eclipse ๋“ฑ์ธ๋ฐ..
Class(ํด๋ž˜์Šค) ์ด๋ฒˆ์—” Class ๋‹ค. Object Oriented Programming, ํ†ต์นญ OOP ๋ผ๋Š” ๊ฐ์ฒด์ง€ํ–ฅํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ๋“ค์–ด๋ณธ ์‚ฌ๋žŒ์ด๋ผ๋ฉด ํ•œ ๋ฒˆ์ฏค์€ ๋“ค์–ด๋ดค์„ class๋Š” ์ƒ์„ฑ์ž(constructor), ๋ฉ”์†Œ๋“œ(๋‚ด๋ถ€ ํ•จ์ˆ˜ - method), ๊ฐ์ฒด ๋“ฑ์˜ ํ‚ค์›Œ๋“œ๋กœ ๊ฐœ๋…์ด ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. Dart ์˜ class๋Š” C++์™€ ์–ธ๋œป ๋น„์Šทํ•œ ํ˜•ํƒœ๋กœ์จ ์–ธ์–ด์  ์ธก๋ฉด์—์„œ ์•ฝ๊ฐ„์˜ ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค. ๋‹ค์Œ์€ Dart.dev์˜ ๊ณต์‹ ์‚ฌ์ดํŠธ์—์„œ ๋“ค๊ณ  ์˜จ ์˜ˆ์‹œ๋‹ค. ๋น„๊ต๋ฅผ ํ†ตํ•ด ํ•œ ๋ฒˆ ์‚ดํŽด๋ณด์ž. class Spacecraft { String name; DateTime? launchDate; // Read-only non-final property int? get launchYear => launchDate?.year; /* l..
Dart ์˜ ํŠน์ง• ๋‹คํŠธ์˜ ์ฒซ์ธ์ƒ์ด์ž ์ฃผ๋œ ํŠน์ง•์ด๋ผ๊ณ  ํ•œ๋‹ค๋ฉด, ๋ฐ”๋กœ C++ ์™€ ์œ ์‚ฌํ•œ ํ˜•ํƒœ๋ผ๋Š” ์ ์ด๋‹ค. Dart ๋ฅผ ๋งŒ๋“  ์‚ฌ๋žŒ์€ Gilad Bracha๋ผ๋Š” ์ธ๋ฌผ๋กœ, Java ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ๋งŒ๋“œ๋Š”๋ฐ ์ฐธ์—ฌํ•œ ์‚ฌ๋žŒ์ด๋‹ค. C++ ์‚ฌ์ดŒ๊ฒฉ์ธ Java๋ฅผ ๋งŒ๋“œ๋Š”๋ฐ ์ผ์กฐํ•œ ์‚ฌ๋žŒ์œผ๋กœ์จ Dart์—๋„ ๊ทธ ํŠน์ง•๊ณผ ์†์„ฑ์„ ํฌํ•จ์‹œํ‚ค์ง€ ์•Š์•˜์„๊นŒ ์‹ถ๋‹ค. (ํ˜„๋Œ€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋“ค์ด ์œ ์‚ฌํ•œ ๋ฌธ๋ฒ• ์ฒด๊ณ„์™€ ๋น„์Šทํ•œ ์†์„ฑ์„ ๊ฐ–๊ณ  ๋งŒ๋“ค์–ด์ง„ ๋ฐ๋Š” ์ด์œ ๊ฐ€ ๋‹ค ์žˆ๋‹ค..! ์“ฐ๊ธฐ ํŽธํ•˜๊ณ  ์ต์ˆ™ํ•˜๋‹ˆ๊นŒ!) # main() ํ•จ์ˆ˜. Dart๋„ C++์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ main() ํ•จ์ˆ˜๋ฅผ ๊ฐ€์ง€๋ฉฐ, ๊ทธ ์—ญํ• ์ด ๋™์ผํ•˜๋‹ค. return ๊ฐ’์ด ์•„๋ž˜ ์˜ˆ์‹œ์™€ ๊ฐ™์ด ์—†๋‹ค๋ฉด ํ•จ์ˆ˜(function)์„ void ๊ฐ’์œผ๋กœ ์„ ์–ธํ•ด์ฃผ๋ฉฐ ์ž…๋ ฅ ํŒŒ๋ผ๋ฏธํ„ฐ๋„ ๊ทธ๋•Œ ๊ทธ๋•Œ ํ•„์š”ํ•˜๋ฉด ์ž…๋ ฅํ•œ๋‹ค. ์ฃผ์š” ํŠน์ง•:..
Dart ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๊ตฌ์ถ• Dart.dev (๊ณต์‹ ํ™ˆํŽ˜์ด์ง€). ์ฐธ๊ณ ! Dart programming language Dart is a client-optimized language for fast apps on any platform. dart.dev Dart๋Š” ํ˜„์žฌ ์˜คํ”ˆ์†Œ์Šค๋กœ ๋ˆ„๊ตฌ๋‚˜ ์‰ฝ๊ฒŒ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์œ„๋Š” ๊ณต์‹ ์›น์‚ฌ์ดํŠธ๋กœ ๋งŽ์€ ์ž๋ฃŒ์™€ ํ•จ๊ป˜ ์ปค๋ฎค๋‹ˆํ‹ฐ ์ •๋ณด, ์†Œํ”„ํŠธ์›จ์–ด ์„ค์น˜๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. Microsoft ์œˆ๋„์šฐ์™€ ์• ํ”Œ iOS, Linux ๋“ฑ ๋งŽ์€ ์šด์˜์ฒด์ œ๊ฐ€ ์ง€์›ํ•˜๊ณ  ์žˆ๋Š” ๋งŒํผ ๊ด€์‹ฌ์„ ๋‘๊ณ  ์ง€์ผœ๋ณผ ๋งŒํ•œ ์–ธ์–ด์ธ ๋“ฏํ•˜๋‹ค. ๋‹ค์Œ์€ ์„ค์น˜ ๊ณผ์ •์ด๋‹ค. ์˜จ๋ผ์ธ, ์˜คํ”„๋ผ์ธ ํ™˜๊ฒฝ ๋ชจ๋‘ ๊ตฌ์ถ•์ด ๊ฐ€๋Šฅํ•˜๋‹ˆ ๊ด€์‹ฌ ์žˆ๋‹ค๋ฉด ๋”ฐ๋ผํ•ด๋ณด๋Š” ๊ฒƒ๋„ ์ข‹์„ ๋“ฏ! 1) ๊ณต์‹ ์›น์‚ฌ์ดํŠธ ์ ‘์†. 2) "Get Dart" ์„ ํƒ ํ›„ ์„ค์น˜ ์‚ฌ์ดํŠธ ์ด๋™. ..
jo._.on_
'Dart, Flutter/๐Ÿณ Basic' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก