- ์ ์ค๊ณ๋ ์ปดํฌ๋ํธ๋ผ๋ฉด
์ธ๋ถ๋ก๋ถํฐ ๋ด๋ถ ๊ตฌํ์ ์๋ฒฝํ ์จ๊ฒจ์ผ
ํจ- ์ด๋ฅผ
์ ๋ณด ์๋(์บก์ํ)
๋ผ๊ณ ๋ถ๋ฆ
- ์ด๋ฅผ
- ์ธ๋ถ์์๋ ๋จ์ํ API๋ฅผ ํธ์ถํด ์ํ๋ ๋์๋ง์ ์ํํ๊ณ , ๋ด๋ถ ๊ตฌํ์ด ์ด๋ป๊ฒ ๋์ด ์๋์ง๋ ์ ํ์๊ฐ ์๋๋ก ํด์ผ ํจ
- ๊ทธ๋์ผ ๋ด๋ถ ๊ตฌํ์ด ๋ณ๊ฒฝ๋์ด๋ ์ธ๋ถ์ ์ํฅ์ ์ฃผ์ง ์์ ์ ์์
- ์ ๋ณด ์๋์ ์ฅ์ ์ ์๋๋ ๋ถ๋ถ์ ๋ณ๊ฒฝ๋์ด๋ ์ธ๋ถ์ ์ํฅ์ ์ฃผ์ง ์์ผ๋ฏ๋ก ์ปดํฌ๋ํธ ๊ฐ ๋
๋ฆฝ์ ํตํด ๊ฐ๋ฐ์ ๋ณ๋ ฌํํ๊ณ , ํ
์คํธ ์ฝ๋, ์ต์ ํ ๋ฑ์ ์์
์ ๊ฐ๋ณ์ ์ผ๋ก ์ํํ ์ ์๋ค๋ ๊ฒ
- ์ปดํฌ๋ํธ๊ฐ
๋ณ๋ ฌ์
์ผ๋ก ๊ฐ๋ฐ๋๋ฏ๋ก๊ฐ๋ฐ ์๋
๋ฅผ ๋์ผ ์ ์์ - ํ
์คํธ, ์ต์ ํ ๋ฑ์ด
๊ฐ๋ณ์
์ผ๋ก ์ํ๋๋ฏ๋กํจ์จ์
- ์ปดํฌ๋ํธ๊ฐ
- ๋ํ, ๋ด๋ถ ์ญ์ ์ธ๋ถ์ ์์กดํ์ง ์์ผ๋ฏ๋ก ์ปดํฌ๋ํธ์
์ฌ์ฌ์ฉ์ฑ
์ ๋์ผ ์ ์์ - ๋ด๋ถ๊ฐ ์ ๋๋ก ๊ตฌํ๋์ง ์์ ์ํ์์๋ ์ธ๋ถ ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒ์ด ๊ฐ๋ฅ
- ๋จ์ํ API๋ฅผ ํธ์ถํ๋ ๊ฒ๋ฟ์ด๋ฏ๋ก, ๊ทธ๋ ๊ฒ ์ฝ๋๋ฅผ ์์ฑํ๋ฉด ๋จ
- API ๋ด๋ถ๊ฐ ๋ฏธ๊ตฌํ ์ํ๋ผ๊ณ ํ๋๋ผ๋, API๊ฐ ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋ค๊ณ ๊ฐ์ ํ mock ํ ์คํธ ๋ฑ์ ํตํด ์ธ๋ถ ์ปดํฌ๋ํธ์ ๋์์ ๊ฒ์ฆํ๋ ๊ฒ์ด ๊ฐ๋ฅ
- ์ ๋ณด ์๋์ ๊ธฐ๋ณธ ์์น์ ๋ชจ๋ ํด๋์ค์ ๋ฉค๋ฒ์ ์ ๊ทผ์ฑ์ ์ต์ํํ๋ ๊ฒ
- ํ๋๋ ํฌ๊ฒ ์ธ๋ถ์์ API์ฒ๋ผ ์ฌ๊ธฐ๋ ๊ฒ๊ณผ ์ธ๋ถ์์ ์กด์ฌ์กฐ์ฐจ ์ธ์งํ์ง ๋ชปํ๋ ๊ฒ์ผ๋ก ๋ถ๋ฆฌ
- public, protected ์ ๊ทผ ์ ์ด์๋ฅผ ๊ฐ๋ ๊ฒฝ์ฐ ๊ณต๊ฐ API๋ก ์ทจ๊ธ๋จ
- public์ ์ง์ ํธ์ถํด ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ฏ๋ก ๋น์ฐํ ๊ฒ์ด๊ณ , protected๋ ์ด๋ฅผ ์์ํ๋ ํ์ ํด๋์ค๋ฅผ ๋ง๋ค ์ ์๊ธฐ ๋๋ฌธ
- package, private ์ ๊ทผ ์ ์ด์๋ฅผ ๊ฐ๋ ๊ฒฝ์ฐ ํจํค์ง ์ธ๋ถ์์๋ ์ฌ์ฉํ ์ ์์ผ๋ฏ๋ก ์ธ๋ถ์์๋ ์ด๋ค์ ์กด์ฌ์กฐ์ฐจ ๋ชจ๋ฅด๋ฉฐ, ๋ด๋ถ ๊ตฌํ์ด ์์ ๋์ด๋ ๋ฌธ์ ๊ฐ ์์
- ์ด์ ๋ฌ๋ฆฌ API๋ ๋ค๋ฅธ ๋์์ ํ๋๋ก ๋ณ๊ฒฝ๋์ง ์์์ผ ํจ์ ๋ฌผ๋ก , ํญ์ ํ์ ํธํ์ ๊ด๋ฆฌํด์ผ ํจ
- public, protected ์ ๊ทผ ์ ์ด์๋ฅผ ๊ฐ๋ ๊ฒฝ์ฐ ๊ณต๊ฐ API๋ก ์ทจ๊ธ๋จ
- ๋ฐ๋ผ์,
private์ package๋ก ๋ฐ๊พธ๋ ๊ฒ๊น์ง๋ ๊ด์ฐฎ์ง๋ง ๊ทธ๋ณด๋ค ๋์ ๋ฒ์์ ์ ๊ทผ์ ํ์ฉํ๊ณ ์ ํ๋ค๋ฉด ๋งค์ฐ ์ฌ์ฌ์๊ณ ํด์ผ ํจ
- public ๊ฐ๋ณ ํ๋๋ ์ธ๋ถ์์ ์ด ํ๋์ ๊ฐ์ ์์ ํ ์ ์์
- ์ด๋ ์ด ํ๋์ ๊ด๋ จ๋ ๋ชจ๋ ๊ฒ์ ๋ถ๋ณ์ ๋ณด์ฅํ ์ ์์์ ์๋ฏธ
- ๋ํ, ์ค๋ ๋ ์์ ์ฑ์ ๋ณด์ฅํ ์๋ ์์
- ํ์ง๋ง ๊ทธ๋ ๋ค๊ณ ํด์ ์ด ํ๋๋ฅผ ๋ถ๋ณ์ผ๋ก ๋ง๋ ๋ค๊ณ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋๋ ๊ฒ์ ์๋
- ํ๋๊ฐ ๋ถ๋ณ์ด๋ผ ํด๋ ํ ๋น๋๋ ๊ฐ์ฒด๊ฐ ๊ฐ๋ณ์ธ ๊ฒฝ์ฐ ๊ฐ์ฒด ๋ด๋ถ ๊ฐ์ด ๋ณ๊ฒฝ๋ ์ ์๋ ์ํ์ ์ฌ์ ํ ์กด์ฌ
- ์ด ๋ฌธ์ ๋๋ฌธ์ ์ ๋๋ก ๋ฐฐ์ด ํ๋์๋ public ์ ๊ทผ ์ ์ด์๋ฅผ ์ ์ฉํ๊ฑฐ๋ ์ ๊ทผ์ ๋ฉ์๋๋ฅผ ์ ๊ณตํ๋ฉด ์ ๋จ
- ๋ถ๋ณ์ผ๋ก ์ ์ธํ๋ ๊ฒฝ์ฐ์๋, ์ด์จ๋ ์ ๊ทผ ์ ์ด์๊ฐ public์ด๋ผ ์ด ํ๋๋ API์ด๋ฏ๋ก ๋ด๋ถ ๊ตฌํ์ ๋ฐ๊พธ๋ ๊ฒ์ด ๋ถ๊ฐ๋ฅ
-
์ด ํ๋๊ฐ ํด๋น ํด๋์ค๊ฐ ํํํ๋ ์ถ์ ๊ฐ๋ ์ ๊ตฌ์ฑ ์์์ ํด๋นํ๋
์์
์ธ ๊ฒฝ์ฐ-
ex) ์์ Item 14์์ ๋ดค๋ String ํด๋์ค์
CASE_INSENSITIVE_ORDER
ํ๋๊ฐ ์ด์ ํด๋น// ๋ฌธ์์ด์ ๋น๊ตํ๋ ๋ฐฉ๋ฒ ์ค ํ ๊ฐ์ง๋ฅผ ๋ํ๋ด๋ ์์ ํ๋ public static final Comparator<String> CASE_INSENSITIVE_ORDER = new CaseInsensitiveComparator();
-
-
์ด ๊ฒฝ์ฐ ํ๋๋ช ์ ๋ชจ๋ ๋๋ฌธ์๋ก ์์ฑํ๊ณ ๋จ์ด ์ฌ์ด๋ ์ธ๋๋ฐ(_)๋ก ์ฐ๊ฒฐํ๋ ๊ฒ์ด ๊ด๋ก
-
์ฆ, ์์์ฒ๋ผ ๋์ํ๋
๋ถ๋ณ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ๋ static final ํ๋
๊ฐ ์๋๊ณ ์์ผpublic
์ ๊ทผ ์ ์ด์๊ฐ ๋ถ์ฌ๋๋ฉด ์ ๋จ