๋ชฉ๋ก๋‹คํŠธ (4)

amid.jungs

Dart ๋ฌธ๋ฒ•05

์ปฌ๋ ‰์…˜ List : ๊ฐ™์€ ํƒ€์ž…์˜ ์ž๋ฃŒ๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ ๋‹ด์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ ํŠน์ • ์ธ๋ฑ์Šค๋กœ ์ ‘๊ทผ Map: ํ‚ค์™€ ๊ฐ’(value) ์Œ์œผ๋กœ ์ €์žฅ , ํ‚ค๋ฅผ ํ†ตํ•ด ๊ฐ’์„ ์–ป์Œ Set: ์ค‘๋ณต ํ—ˆ์šฉ X, ์ฐพ๋Š” ๊ฐ’์˜ ์œ ๋ฌด ํŒ๋‹จ ์‹œ ์‚ฌ์šฉ โ… . List ์ˆœ์„œ๊ฐ€ ์žˆ๋Š” ์ž๋ฃŒ๋ฅผ ๋‹ด๋Š” ์ปฌ๋ ‰์…˜ ๋ฐฐ์—ด ์ œ๊ณต x _dynamic : ๋ชจ๋“  ํƒ€์ž…์„ ๋Œ€๋ณ€ ์Šคํ”„๋ ˆ๋“œ ์—ฐ์‚ฐ์ž(...) ์ปฌ๋ ‰์…˜์„ ํŽผ์ณ์ฃผ๋Š” ์—ฐ์‚ฐ์ž ๋‹ค๋ฅธ ์ปฌ๋ ‰์…˜ ์•ˆ์— ์ปฌ๋ ‰์…˜ ์‚ฝ์ž…์‹œ ์‚ฌ์šฉ โ…ก. Map ์ˆœ์„œ๊ฐ€ ์—†๊ณ  ๊ฒ€์ƒ‰์ด ๋น ๋ฅธ ์ž๋ฃŒ๊ตฌ์กฐ ํ‚ค๊ฐ’์„ ์ด์šฉํ•˜์—ฌ ๊ฐ’์„ ์–ป์Œ ์š”์ฒญํ‚ค์— ํ•ด๋‹น ๊ฐ’์ด ์—†๋‹ค๋ฉด Null ๋ฐ˜ํ™˜ โ…ข. Set ์ง‘ํ•ฉ์„ ํ‘œํ˜„ํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ ์ปฌ๋ ‰์…˜ add() , remove() ๋กœ ์ถ”๊ฐ€ ,์‚ญ์ œ contains()๋กœ ์ฐพ๋Š” ์ž๋ฃŒ๊ฐ€ ์ง‘ํ•ฉ์— ์žˆ๋Š”์ง€์˜ ์œ ๋ฌด๋ฅผ bool ํƒ€์ž…์œผ๋กœ ๋ฐ˜ํ™˜ํ•˜์—ฌ ๊ฒ€์‚ฌ ์‹œ ์‚ฌ์šฉ ์ค‘๋ณตํ—ˆ์šฉ X ๋นˆ..

Dart (Flutter) 2021. 8. 15. 14:58
Dart ๋ฌธ๋ฒ•04

โ… . ์ƒ์† ์Šˆํผํด๋ž˜์Šค(๋ถ€๋ชจํด๋ž˜์Šค) -> ์„œ๋ธŒํด๋ž˜์Šค(์ž์‹ํด๋ž˜์Šค) ๊ธฐ์กด๊ธฐ๋Šฅ์„ ์žฌ์ •์˜ ์‹œ ์‚ฌ์šฉ override : ์˜ค๋ฒ„๋ผ์ด๋“œํ•˜์—ฌ ์žฌ์ •์˜ ๊ฐ€๋Šฅ super : ์Šˆํผํด๋ž˜์Šค์— ์ ‘๊ทผ ๊ฐ€๋Šฅ โ…ก. ์ถ”์ƒํด๋ž˜์Šค ์ถ”์ƒ ๋ฉ”์„œ๋“œ๋ฅผ ํฌํ•จํ•˜๋Š” ํด๋ž˜์Šค ์„ ์–ธ๋งŒ ๋˜๋ฉฐ ์ •์˜๋Š” ์—†์Œ ์ธ์Šคํ„ด์Šคํ™”X ๋‹ค๋ฅธ ํด๋ž˜์Šค์—์„œ implementํ•˜์—ฌ ๊ธฐ๋Šฅ์„ ์™„์„ฑํ•˜๋Š” ์ƒ์†์žฌ๋ฃŒ๋กœ ์‚ฌ์šฉ๋จ ๋Œ€์ƒ ํด๋ž˜์Šค implement , ๋ฉ”์„œ๋“œ @override ์ถ”์ƒํด๋ž˜์Šค ์—ฌ๋Ÿฌ๊ฐœ๋ฅผ ํ•œ๋ฒˆ์— ์ž„ํ”Œ๋ฆฌ๋จผํŠธํ•˜๊ธฐ ์ถ”์ƒํด๋ž˜์Šค ๊ตฌํ˜„์‹œ์—๋Š” ๋ชจ๋“  ์ถ”์ƒ๋ฉ”์„œ๋“œ๋ฅผ ์žฌ์ •์˜ โ…ข. ๋ฏน์Šค์ธ with : ์ƒ์†ํ•˜์ง€ ์•Š๊ณ ๋„ ๋‹ค๋ฅธ ํด๋ž˜์Šค์˜ ๊ธฐ๋Šฅ์„ ๊ฐ€์ ธ์˜ค๊ธฐ, ์˜ค๋ฒ„๋ผ์ด๋“œ๊ฐ€ ๊ฐ€๋Šฅ (๋ฏน์Šค์ธ์˜ ํ•œ ์ข…๋ฅ˜) โ…ฃ. ์—ด๊ฑฐ ํƒ€์ž… ์ƒ์ˆ˜๋ฅผ ์ •์˜ํ•˜๋Š” ํด๋ž˜์Šค switch๋ฌธ๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉ์‹œ ์—ด๊ฑฐํƒ€์ž…์œผ๋กœ ์ •์˜๋œ ๋ชจ๋“  ์ƒ์ˆ˜๋ฅผ case๋กœ ๊ฐ•์ œ๊ฒ€ํ†  ->..

Dart (Flutter) 2021. 8. 15. 14:12
Dart ๋ฌธ๋ฒ•03

๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ โ… . Class ๊ฐ์ฒด : ์ €์žฅ๊ณต๊ฐ„์— ํ• ๋‹น๋˜์–ด ๊ฐ’์„ ๊ฐ€์ง€๊ฑฐ๋‚˜ ์‹๋ณ„์ž์— ์˜ํ•ด ์ฐธ์กฐ๋˜๋Š” ๊ณต๊ฐ„ ์ธ์Šคํ„ด์Šค : ๋ฉ”๋ชจ๋ฆฌ์— ์ž‘์„ฑ๋œ ๊ฐ์ฒด (๊ฐ์ฒด๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ -> ์ธ์Šคํ„ด์Šคํ™” ) ํ”„๋กœํผํ‹ฐ : ํด๋ž˜์Šค์•ˆ์—์„œ ์†์„ฑ์„ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ ํด๋ž˜์Šค : ์ธ์Šคํ„ด์Šคํ™”๋ฅผ ํ•˜๊ธฐ ์œ„ํ•œ ์„ค๊ณ„๋„ ๋ฉ”์„œ๋“œ : ํด๋ž˜์Šค์•ˆ์— ์ž‘์„ฑํ•˜๋Š” ํ•จ์ˆ˜ ๐Ÿž ๋นต์„ ๋งŒ๋“œ๋Š” ๊ณผ์ •์„ ํ†ตํ•œ ์˜ˆ์‹œ ๋นต์„ ๋งŒ๋“œ๋Š” ๋ ˆ์‹œํ”ผ = ํด๋ž˜์Šค ๋นต์„ ๋งŒ๋“œ๋Š”๋ฐ ํ•„์š”ํ•œ ์žฌ๋ฃŒ = ํ”„๋กœํผํ‹ฐ ๋นต์„ ๊ตฝ๊ณ  , ํ‹€์„ ๋งŒ๋“ค๊ณ  ํ•˜๋Š” ํ–‰๋™ = ๋ฉ”์„œ๋“œ ์™„์„ฑ๋œ ๋นต = ์ธ์Šคํ„ด์Šค โ…ก. ์ ‘๊ทผ ์ง€์ •์ž _๋ณ€์ˆ˜๋ช… : ์™ธ๋ถ€์—์„œ ์ ‘๊ทผ ๋ถˆ๊ฐ€(private) โ…ข. ์ƒ์„ฑ์ž ์ธ์Šคํ„ด์Šคํ™” ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•˜๋Š” ๋ฉ”์„œ๋“œ ๊ธฐ๋ณธ ์ƒ์„ฑ์ž = ํด๋ž˜์Šค ์ด๋ฆ„๊ณผ ๊ฐ™์€ ์ด๋ฆ„์˜ ๋ฉ”์„œ๋“œ โ…ฃ. getter & setter private ๋ณ€์ˆ˜์—..

Dart (Flutter) 2021. 8. 13. 18:44