Optional์ ๋ฐ๋ก ๊ณต๋ถํ ์ ์ด ์์ด์ ๋์ถฉ ์ค๋ฅ๋ง ๋ดค์ ๋ ์ฌํ๊ป isPresent์ด๋ ifPresent๊ฐ ๊ฐ์ ์ ์ธ์ค ์์๋ค .. ๋ฐ๋ถ ๊ทธ๋์ isPresent()์์ ์ธ์๋ก ์ ๋๋ค์์ ์จ์ฃผ๋์ง ์ดํด๊ฐ์๋๋ค..ํ์ง๋ง ๋ค๋ฅธ ๋ฉ์๋์๋ค๋๊ฒ ใ .. ํฌ์คํธ๊ฐ ๋๋ฌด ์งง์ ์ฃผ์ ์ํผ ์ค๋์ Optional์ด ๋ญ์ง ์์ฃผ ์งง๊ฒ ์ดํด๋ณด๊ณ isPresent/ifPresent/ifPresentOrElse ๋ฉ์๋์ ๋ํด ์ดํด๋ณด๋๋ก ํ๊ฒ ๋ค. Optional์ด๋? ์กด์ฌํ ์๋ ์์ง๋ง ์ ํ ์๋ ์๋ ๊ฐ์ฒด, ์ฆ, “null์ด ๋ ์๋ ์๋ ๊ฐ์ฒด”์ ๊ฐ์ธ๊ณ ์๋ ์ผ์ข ์ ๋ํผ ํด๋์ค์ด๋ค. ์์๊ฐ ์๊ฑฐ๋ ์ต๋ ํ๋ ๋ฐ์ ์๋ Collection์ด๋ Stream์ด๋ผ๊ณ ์๊ฐํด๋ ์ข๋ค. null ๋๋ฌธ์ ์๊ธฐ๋ ๊ท์ฐฎ์์ ํธ๋ค๋งํ๊ธฐ ..
SpringBoot๋ก Java๋ฅผ ์ค๋๋ง์ ์ฌ์ฉํ๊ฒ ๋์๋๋ฐ ์๋ ์ฝ๋๊ฐ ์๋ฆฌ๊ฐ ๋ญ์ง๊ฐ ์ดํด๊ฐ ์๋ผ์ Java ๋ฌธ๋ฒ์ ๊ณต๋ถํด๋ณด์๋ค. ์ด๋ฒ ํฌ์คํธ์์๋ Stream์ ๊ฐ๋ ์ ๋ค๋ฃฌ ํ ์๋ ์ฝ๋์ ๋์ ์๋ฆฌ๋ฅผ ๋ถ์ํด๋ณผ ๊ฒ์ด๋ค. public Optional findByName(String name) { return store.values().stream() .filter(member -> member.getName().equals(name)) .findAny(); } ์ผ๋จ ๊ฐ๋ ๋ถํฐ ์ง๊ณ ๋์ด๊ฐ๋ณด์. Stream์ ์ฉ๋์ ๊ตฌ์กฐ Java8์์๋ถํฐ ์ง์ํ ๊ธฐ๋ฅ์ผ๋ก, ์ผ์ข ์ ๋ฐ๋ณต๋ฌธ์ ๊ฐ๋จํ๊ฒ ๋ํ๋ธ ๊ฒ์ด๋ผ๊ณ ํ ์ ์๋ค. Stream์ ์ปฌ๋ ์ ์ด๋ ๋ฐฐ์ด, ๋ฆฌ์คํธ ๋ฑ์ ์๋ ๊ฐ๋ค์ ์ฐธ๊ณ ํ์ฌ ๊ทธ ๊ฐ๋ค์ ๋ํด์ ์ฐ์ฐ์ ํด์ฃผ๋..