๐ฏ ์์ดํ 66. ๋ค์ดํฐ๋ธ ๋ฉ์๋๋ ์ ์คํ ์ฌ์ฉํ๋ผ.
๋ค์ดํฐ๋ธ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ ค๊ฑฐ๋ ํ๋ฒ ๋ ์๊ฐํ๋ผ. ๋ค์ดํฐ๋ธ ๋ฉ์๋๊ฐ ์ฑ๋ฅ์ ๊ฐ์ ํด์ฃผ๋ ์ผ์ ๋ง์ง ์๋ค. ์ ์์ค ์์์ด๋ ๋ค์ดํฐ๋ธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํด์ผ๋ง ํด์ ์ด์ฉ ์ ์๋๋ผ๋ ๋ค์ดํฐ๋ธ ์ฝ๋๋ ์ต์ํ๋ง ์ฌ์ฉํ๊ณ ์ฒ ์ ํ ํ ์คํธํ๋ผ. ๋ค์ดํฐ๋ธ ์ฝ๋ ์์ ์จ์ ๋จ ํ๋์ ๋ฒ๊ทธ๊ฐ ์ฌ๋ฌ๋ถ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฒด๋ฅผ ํผ์ํ ์๋ ์๋ค.
๐ฏ ์์ดํ 67. ์ต์ ํ๋ ์ ์คํ ํ๋ผ.
๋น ๋ฅธ ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ ค ์๋ฌํ์ง ๋ง์. ์ข์ ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ค ๋ณด๋ฉด ์ฑ๋ฅ์ ๋ฐ๋ผ์ค๊ฒ ๋ง๋ จ์ด๋ค.
1๏ธโฃ ์ฑ๋ฅ์ ์ ํํ๋ ์ค๊ณ๋ฅผ ํผํ๋ผ.
์์ฑ ํ ๋ณ๊ฒฝํ๊ธฐ๊ฐ ๊ฐ์ฅ ์ด๋ ค์ด ์ค๊ณ ์์๋ ๋ฐ๋ก ์ปดํฌ๋ํธ๋ผ๋ฆฌ, ํน์ ์ธ๋ถ ์์คํ ๊ณผ์ ์ํต ๋ฐฉ์์ด๋ค. ์ด๋ฐ ์ค๊ณ ์์๋ค์ ์์ฑ ํ์๋ ๋ณ๊ฒฝํ๊ธฐ ์ด๋ ต๊ฑฐ๋ ๋ถ๊ฐ๋ฅํ ์ ์์ผ๋ฉฐ, ๋์์ ์์คํ ์ฑ๋ฅ์ ์ฌ๊ฐํ๊ฒ ์ ํํ ์ ์๋ค.
2๏ธโฃ API๋ฅผ ์ค๊ณํ ๋ ์ฑ๋ฅ์ ์ฃผ๋ ์ํฅ์ ๊ณ ๋ คํ๋ผ.
public ํ์
์ ๊ฐ๋ณ์ผ๋ก ๋ง๋ค๋ฉด, ์ฆ ๋ด๋ถ ๋ฐ์ดํฐ๋ฅผ ๋ณ๊ฒฝํ ์ ์๊ฒ ๋ง๋ค๋ฉด ๋ถํ์ํ ๋ฐฉ์ด์ ๋ณต์ฌ๋ฅผ ์์์ด ์ ๋ฐํ ์ ์๋ค.
์ธํฐํ์ด์ค๋ ์๋๋ฐ ๊ตณ์ด ๊ตฌํ ํ์
์ ์ฌ์ฉํ๋ ๊ฒ ์ญ์ ์ข์ง ์๋ค. ํน์ ๊ตฌํ์ฒด์ ์ข
์๋๊ฒ ํ์ฌ, ๋์ค์ ๋ ๋น ๋ฅธ ๊ตฌํ์ฒด๊ฐ
๋์ค๋๋ผ๋ ์ด์ฉํ์ง ๋ชปํ๊ฒ ๋๋ค.
3๏ธโฃ ์ฑ๋ฅ์ ์ํด API๋ฅผ ์๊ณกํ๋ ๊ฑด ๋งค์ฐ ์ ์ข์ ์๊ฐ์ด๋ค.
์ ์คํ๊ฒ ์ค๊ณํ์ฌ ๊นจ๋ํ๊ณ ๋ช
ํํ๊ณ ๋ฉ์ง ๊ตฌ์กฐ๋ฅผ ๊ฐ์ถ ํ๋ก๊ทธ๋จ์ ์์ฑํ ๋ค์์์ผ ์ต์ ํ๋ฅผ ๊ณ ๋ คํด๋ณผ ์ฐจ๋ก๊ฐ ๋๋ค. ๋ฌผ๋ก ์ฑ๋ฅ์ ๋ง์กฑํ์ง ๋ชปํ ๊ฒฝ์ฐ์ ํ์ ๋๋ค.
๐ฏ ์์ดํ 68. ์ผ๋ฐ์ ์ผ๋ก ํต์ฉ๋๋ ๋ช ๋ช ๊ท์น์ ๋ฐ๋ฅด๋ผ.
ํ์ค ๋ช ๋ช ๊ท์น์ ์ฒดํํ์ฌ ์์ฐ์ค๋ฝ๊ฒ ๋ฒ ์ด ๋์ค๋๋ก ํ์. ์ฒ ์ ๊ท์น์ ์ง๊ด์ ์ด๋ผ ๋ชจํธํ ๋ถ๋ถ์ด ์ ์ ๋ฐ ๋ฐํด, ๋ฌธ๋ฒ ๊ท์น์ ๋ ๋ณต์กํ๊ณ ๋์จํ๋ค. ์๋ฐ ์ธ์ด ๋ฉด์ธ์ ๋ง์ ์ธ์ฉํ์๋ฉด "์ค๋ซ๋์ ๋ฐ๋ผ์จ ๊ท์น๊ณผ ์ถฉ๋ํ๋ค๋ฉด ๊ทธ ๊ท์น์ ๋งน์ข ํด์๋ ์ ๋๋ค."
์๋ณ์ ํ์ | ์ |
---|---|
ํจํค์ง์ ๋ชจ๋ | org.junit.jupiter.api, com.google.common.collect |
ํด๋์ค์ ์ธํฐํ์ด์ค | Stream, FutureTask, LinkedHashMap, HttpClient |
๋ฉ์๋์ ํ๋ | remove, groupingBy, getCrc |
์์ ํ๋ | MIN_VALUE, NEGATIVE_INFINITY |
์ง์ญ๋ณ์ | i, denom, houseNum |
ํ์ ๋งค๊ฐ๋ณ์ | T, E, K, V, X, R, U, V, T1, T2 |
์ฐธ๊ณ ์๋ฃ
Joshua Bloch, ใEffective Java 3/Eใ, ๊ฐ์๋งต์ ์ฎ๊น, ํ๋ก๊ทธ๋๋ฐ์ธ์ฌ์ดํธ(2018)
http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788966262281&orderClick=LEa&Kc=