optional

    [Swift] Optionals

    ๋Œ๋‹ค๋ฆฌ๋„ ๋‘๋“ค๊ฒจ๋ณด๊ณ  ๊ฑด๋„ˆ์ž. Optional: ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ์„ ์ˆ˜๋„ ์žˆ๊ณ  ์—†์„ ์ˆ˜๋„ ์žˆ๋Š” ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฒƒ Optional์„ ์‚ฌ์šฉํ•  ๋•Œ๋Š” 2๊ฐ€์ง€ Case๊ฐ€ ์žˆ๋‹ค. (1) ์–ด๋–ค ๊ฐ’์ด ์žˆ์–ด์„œ ๊ทธ ๊ฐ’์„ ์“ธ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ (2) ์•„์˜ˆ ๊ฐ’์ด ์—†์–ด์„œ ์ ‘๊ทผํ•˜์ง€ ๋ชปํ•˜๋Š” ๊ฒฝ์šฐ - nil: ์•„์ง ๊ฐ’์ด ์—†๋‹ค. โ€ป ํ•„์š”์— ๋”ฐ๋ผ์„œ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์˜ต์…”๋„๋กœ ๋ฐ›๋Š” ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค ์ˆ˜๋„ ์žˆ๋‹ค. ์˜ต์…”๋„์„ ์ •์˜ํ•˜๋Š” ๋ฒ• Optional์„ ์ •์˜ํ•  ๋•Œ๋Š” ์–ด๋–ค Type ๋’ค์— ?๋ฅผ ๋ถ™์ด๋ฉด ๋œ๋‹ค. ์ด ๋•Œ, Optional์„ ์“ธ ๋•Œ๋Š” ์–ด๋–ค ๊ฐ’์ด ๋“ค์–ด์˜ฌ์ง€ ๋ชจ๋ฅด๊ธฐ์— Type - Inferring์ด ์•ˆ๋˜๋ฏ€๋กœ Type์„ ๋ฐ˜๋“œ์‹œ ๋„ฃ์–ด์ค˜์•ผํ•œ๋‹ค. Optional์—์„œ ๊ฐ’์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ๊ฐ’์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• | Optional Binding let userInputAge..