728x90
728x90

Null Safety 2

[Dart ๋ณ€์ˆ˜์™€ ๋ฐ์ดํ„ฐ ํƒ€์ž…] null safety๋ž€? Dart์˜ null ์•ˆ์ „์„ฑ ์ดํ•ดํ•˜๊ธฐ(๋ช…๋ น ํ”„๋กฌํ”„ํŠธ ์ฒจ๋ถ€ ํŒŒ์ผ ์ œ๊ณต)

๋ชฉ์ฐจ โ… . ์„œ๋ก : null safety๊ฐ€ ์ค‘์š”ํ•œ ์ด์œ  ๐Ÿ“Œ null ๊ฐ’์ด๋ž€? null์ด ๋ฌด์—‡์„ ์˜๋ฏธํ•˜๋Š”๊ฐ€? (null ๊ฐ’์ด ๋ฐœ์ƒํ•˜๋Š” ์›์ธ) ๐Ÿ“Œ null๋กœ ์ธํ•œ ์˜ค๋ฅ˜ ๋ฐฉ์ง€์˜ ํ•„์š”์„ฑ โ…ก. ๋ณธ๋ก : Dart์˜ null safety ๊ฐœ๋…๊ณผ ํ™œ์šฉ๋ฒ• ๐Ÿ“Œ Step 1: null safety๋ž€? (๊ธฐ๋ณธ ๊ฐœ๋… ์ดํ•ด) ๐Ÿ“Œ Step 2: nullable(?) vs non-nullable ๋ณ€์ˆ˜ ๐Ÿ“Œ Step 3: null ๊ฐ’ ๋‹ค๋ฃจ๊ธฐ (!, ??, ??= ์—ฐ์‚ฐ์ž ํ™œ์šฉ) ๐Ÿ“Œ Step 4: late ํ‚ค์›Œ๋“œ ์‚ฌ์šฉ๋ฒ• (๋ณ€์ˆ˜๋ฅผ ๋‚˜์ค‘์— ์ดˆ๊ธฐํ™”ํ•˜๊ธฐ) ๐Ÿ“Œ Step 5: null safety๋ฅผ ํ™œ์šฉํ•œ ์•ˆ์ „ํ•œ ์ฝ”๋“œ ์ž‘์„ฑ โ…ข. null safety๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• ๐Ÿ“Œ null ์•ˆ์ „์„ฑ์„ ๊ณ ๋ คํ•œ ์ฝ”๋“œ ์Šคํƒ€์ผ  ๐Ÿ“Œ null sa..

[Dart ๋ณ€์ˆ˜์™€ ๋ฐ์ดํ„ฐ ํƒ€์ž…] Dart์—์„œ ๋ณ€์ˆ˜์™€ ๋ฐ์ดํ„ฐ ํƒ€์ž… ์ดํ•ดํ•˜๊ธฐ(๋ช…๋ น ํ”„๋กฌํ”„ํŠธ ์ฒจ๋ถ€ ํŒŒ์ผ ์ œ๊ณต)

๋ชฉ์ฐจ โ… . ์„œ๋ก : ๋ณ€์ˆ˜์™€ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ๋ฐฐ์šฐ๋Š” ์ด์œ  ๐Ÿ“Œ 1. ๋ณ€์ˆ˜๋ž€ ๋ฌด์—‡์ธ๊ฐ€? ๐Ÿ“Œ 2. Dart์—์„œ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  โ…ก. ๋ณธ๋ก : Dart์˜ ๋ณ€์ˆ˜ ์„ ์–ธ๊ณผ ๋ฐ์ดํ„ฐ ํƒ€์ž… ์ดํ•ดํ•˜๊ธฐ ๐Ÿ“Œ Step 1: ๋ณ€์ˆ˜ ์„ ์–ธ ๋ฐฉ๋ฒ• (var, dynamic, ๋ช…์‹œ์  ํƒ€์ž… ์ง€์ •) ๐Ÿ“Œ Step 2: ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ํƒ€์ž… (int, double, String, bool, List, Map, Set) ๐Ÿ“Œ Step 3: null safety์™€ nullable ๋ณ€์ˆ˜ ์‚ฌ์šฉ๋ฒ• ๐Ÿ“Œ Step 4: ๋ฐ์ดํ„ฐ ํƒ€์ž… ๋ณ€ํ™˜ (String → int, double → String ๋“ฑ) โ…ข. ๊ฒฐ๋ก : ๋ณ€์ˆ˜์™€ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• ๐Ÿ“Œ ๋ณ€์ˆ˜ ์‚ฌ์šฉ ์‹œ ์ฃผ์˜ํ•  ์  ๐Ÿ“Œ Dart์˜ ํƒ€์ž… ์ถ”๋ก ๊ณผ ๋ช…์‹œ์  ํƒ€์ž… ์‚ฌ์šฉ์˜ ๊ท ํ˜•  Dart์—..

728x90
728x90