Optional

    Optional์„ ์•Œ์•„๋ณด์ž!

    Optional์„ ์•Œ์•„๋ณด์ž!

    Optional์ด๋ž€? null์„ ๋ฆฌํ„ด๋ฐ›์•„ ์‚ฌ์šฉํ•˜๋ฉด nullPointException์ด ๋ฐœ์ƒํ•œ๋‹ค. if(xx != null)์™€ ๊ฐ™์€ ์กฐ๊ฑด๋ฌธ์œผ๋กœ null์„ ์ฒดํฌํ•ด์„œ ์‚ฌ์šฉํ•˜๋ฉด ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Œ. ํ•˜์ง€๋งŒ ๋งค๋ฒˆ ๊ทธ๋ ‡๊ฒŒ ํ•˜๊ธฐ๊ฐ€ ๋ฒˆ๊ฑฐ๋กœ์›€. ๋‘๋ฒˆ์งธ๋กœ null์„ return๋ฐ›์„ ์ƒํ™ฉ์— Exeception์„ ๋˜์ ธ์ค„ ์ˆ˜ ์žˆ์Œ.(์ด ๊ฒฝ์šฐ๋Š” ๋น„ํšจ์œจ์ ์ธ ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•จ.) Optional์„ ํ™œ์šฉํ•˜์—ฌ null์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค. ์–ด๋””์„œ ์“ฐ๋Š”๊ฐ€? public Optional getProgress() { // Optional๋กœ ๊ฐ์‹ธ์„œ ๋ณด๋‚ด์ค€๋‹ค. return Optional.ofNullable(progress); } ๋˜๋„๋ก์ด๋ฉด return๋˜๋Š” ์œ„์น˜์—์„œ ์‚ฌ์šฉํ•˜๋ฉด๋œ๋‹ค. ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ๋˜๋Š” ๊ณณ : Map์˜ key(Map์˜ key๋Š” n..