๐ฏ ์์ดํ 54. null์ด ์๋, ๋น ์ปฌ๋ ์ ์ด๋ ๋ฐฐ์ด์ ๋ฐํํ๋ผ.
null์ ๋ฐํํ๋ API๋ ์ฌ์ฉํ๊ธฐ ์ด๋ ต๊ณ ์ค๋ฅ ์ฒ๋ฆฌ ์ฝ๋๋ ๋์ด๋๋ค. ๊ทธ๋ ๋ค๊ณ ์ฑ๋ฅ์ด ์ข์ ๊ฒ๋ ์๋๋ค.
์ปฌ๋ ์
์ด๋ ๋ฐฐ์ด ๊ฐ์ ์ปจํ
์ด๋๊ฐ ๋น์์ ๋ null์ ๋ฐํํ๋ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ ๋๋ฉด ํญ์ ๋ฐฉ์ด ์ฝ๋๋ฅผ ๋ฃ์ด์ค์ผ ํ๋ค. ํด๋ผ์ด์ธํธ์์ ๋ฐฉ์ด ์ฝ๋๋ฅผ ๋นผ๋จน์ผ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํ ์ ์๋ค. ์ค์ ๋ก ๊ฐ์ฒด๊ฐ 0๊ฐ์ผ ๊ฐ๋ฅ์ฑ์ด ๊ฑฐ์ ์๋ ์ํฉ์์๋ ์๋
๋ค์์ผ ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ธฐ๋ ํ๋ค.
- ๋น ์ปฌ๋ ์
์ ๋ฐํํ๋ ์ฌ๋ฐ๋ฅธ ์
public List<Cheese> getCheeses(){
return new ArrayList<>(cheesesInStock);
}
๋๋ถ๋ถ์ ์ํฉ์์๋ ์ด๋ ๊ฒ ํ๋ฉด ๋๋ค. ๊ฐ๋ฅ์ฑ์ ์์ง๋ง, ์ฌ์ฉ ํจํด์ ๋ฐ๋ผ ๋น ์ปฌ๋ ์
ํ ๋น์ด ์ฑ๋ฅ์ ๋์ ๋๊ฒ ๋จ์ด ๋จ๋ฆด ์๋ ์๋ค. ๋คํํ ํด๋ฒ์ ๊ฐ๋จํ๋ค. ๋งค๋ฒ ๋๊ฐ์ ๋น '๋ถ๋ณ'์ปฌ๋ ์
์ ๋ฐํํ๋ ๊ฒ์ด๋ค.
ex) Collections.emptyList
, Collections.emptySet
, Collections.emptyMap
์ฐธ๊ณ ์๋ฃ
Joshua Bloch, ใEffective Java 3/Eใ, ๊ฐ์๋งต์ ์ฎ๊น, ํ๋ก๊ทธ๋๋ฐ์ธ์ฌ์ดํธ(2018)
http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788966262281&orderClick=LEa&Kc=