-
Null Safety๋ ๋ฌด์์ธ๊ฐ? ๊ฐ๋ ๋ถํฐ ์ค์ ์์๊น์ง
1. Null Safety์ ์ ์
**Null Safety(๋ ์์ ์ฑ)**๋ ํ๋ก๊ทธ๋จ์ด ์คํ๋๋ ๋์ค์
null(ํน์nil,None๋ฑ ์ธ์ด๋ณ ๋ช ์นญ์ ๋ค๋ฅด์ง๋ง “๊ฐ์ด ์์"์ ์๋ฏธํ๋ ํน์ ๊ฐ)์ ์ฐธ์กฐํจ์ผ๋ก์จ ๋ฐ์ํ๋ ์ค๋ฅ๋ฅผ **์ปดํ์ผ ํ์(์ฝ๋ ์์ฑ ์์ )**์ ๋ฏธ๋ฆฌ ๋ฐฉ์งํ๋๋ก ์ค๊ณ๋ ์ธ์ด์ ๊ธฐ๋ฅ ๋๋ ํ๋ก๊ทธ๋๋ฐ ์์น์ ๋งํฉ๋๋ค.๊ฐ์ฅ ๋ํ์ ์ธ ๋ฌธ์ ๊ฐ ๋ฐ๋ก NullPointerException(NPE) ์ ๋๋ค. ์๋ฐ์ ์ฐฝ์์ ์ค ํ ๋ช ์ธ ํ ๋ ํธ์ด(Tony Hoare)๋ 1965๋ Null ์ฐธ์กฐ๋ฅผ ๋ฐ๋ช ํ ๊ฒ์ ๋๊ณ ์ค์ค๋ก “10์ต ๋ฌ๋ฌ์ง๋ฆฌ ์ค์(Billion Dollar Mistake)” ๋ผ๊ณ ํํํ ์ ๋๋ก, null๋ก ์ธํ ๋ฒ๊ทธ๋ ์ํํธ์จ์ด ๊ฐ๋ฐ ์ญ์ฌ์์ ๊ฐ์ฅ ํํ๊ณ ๋น์ฉ์ด ํฐ ์ค๋ฅ ์ค ํ๋์์ต๋๋ค.