20201116 - java-squid/effective-java GitHub Wiki
ํ๊ณ
Sunny
- ์ดํํฐ๋ธ ์๋ฐ 3์ผ ์ ๋ ๊ณต๋ถํจ.
- ์์์ ์ค๋น๋ฑ๋ฑ.
Han
- ์ดํํฐ๋ธ ์๋ฐ 3,4์ผ ๊ณต๋ถํจ.
Henry
- ๋ด์ฉ์ด ํฌ๊ฒ ์ด๋ ต์ง ์์์, ๊ฐ๋ณ๊ฒ ๋ดค๋ค.
- ํธ๋ํฐ ๋ฐ๊ฟจ์
David
- ๋ด์ฉ์ด ์ฌ์ด ๊ฒ๋ ์์๊ณ , ๊ฐ๋ณ๊ฒ ํ๋ค.
- ๊ธ๋ฐฉ ๋๋ผ ์ ์์ ๊ฒ ๊ฐ๋ค. 9์์ ๊น์ง
Items
[์์ดํ
21]
- apache-common, google-guava ๋ง์ด ์ฌ์ฉ๋๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค.
- ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ ๋, ๋ค๋ฅธ ๊ฐ๋ฐ์๋ค์ด ๊ฐ๊ฐ ๊ตฌํ์ฒด๋ฅผ ๋ง๋ค์ด๋ณด์.
- ๊ทธ๋ฌ๋ฉด ์ธํฐํ์ด์ค ์ค๊ณ์ ์๋ ๊ฒฐํจ์ ์ค์ผ ์ ์์ ๊ฒ...?
- mutex, semaphore์ ๋ํด
[์์ดํ
22]
- ObjectStreamConstants ์ ๋ง๋ค์์๊น?
- ์ค์
- ์ค๊ณ์ ์๋ชป ๋๊ธด ํ์ง๋ง, ์ญ์ ํจ์ผ๋ก์จ ๋ฐ์ํ๋ ๋ฌธ์ ๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด์ ๊ตณ์ด ์ง์ฐ์ง ์๋๋ฏ.
[์์ดํ
23]
- ํด๋์ค ์ค๊ณ ์, ๊ฐ์ฒด์งํฅ์ ์ธ ๋ง์ธ๋๋ฅผ ๋ค์ํ๋ฒ ์๊ฐํ์
[์์ดํ
24]
- ๊ฐ๊ฐ์ ํด๋์ค๊ฐ ์ด๋ค ํด๋์ค์ธ์ง ์ ๋๋ง, ์๋ฉด ๋ ๊ฒ ๊ฐ๋ค.
- Map.entry interface์ ๋ํด
- ์ธํฐํ์ด์ค ๋ชฉ์ ์ด๋ ์ฌ์ฉ์ ๋ํด ๋ค์ ํ๋ฒ ์์๋ด์ผํ ๋ฏ.
- ์ด๋ ๊ฒฝ์ฐ์ ์ ์ , ๋น์ ์ ๋ฉค๋ฒ ํด๋์ค๋ฅผ ์ฌ์ฉํ ๊น?
- ๋ฐ๊นฅ ์ธ์คํด์ค๋ฅผ ์ฐธ์กฐํ๋ ์ํ๋์ ์ฐจ์ด
- Iterator, Adaptor๋ ๋ฐ๊นฅ ์ธ์คํด์ค๋ฅผ ์ฐธ์กฐํด์ผ์ง๋ง ์ธ๋ชจ๊ฐ ์๋ ํด๋์ค.
- Entry ๋ Map ๋ด๋ถ์ ์์ง๋ง, Map ์ ๋ณด์ ๋ํด ์ ํ์ ์์ --> ๊ทธ๋์ ์ ์ ๋ฉค๋ฒ ํด๋์ค๋ก ๊ฐ๋ฅ
- ๋ฐ๋ฉด Iterator๋ค์ ๋ฐ๊นฅ ์ธ์คํด์ค ์ ๋ณด๋ฅผ ์์์ผ ํ๋๊น.. --> ๋น์ ์ ํด๋์ค
- ์ ์ ํด๋์ค์ ๊ฒฝ์ฐ, ์๋ก์ด ํํด๋์ค๋ก ๋ถ๋ฆฌ ๊ฐ๋ฅํ๋ค (๋ฐ๊นฅ ํด๋์ค๋ฅผ ์ฐธ์กฐํ๊ณ ์์ง ์๊ธฐ ๋๋ฌธ์)
- ๋น์ ์ ํด๋์ค์ ๊ฒฝ์ฐ, ๋ฐ๊นฅ ํด๋์ค๋ฅผ ์ฐธ์กฐํ๊ณ ์๋ ๊ฒฝ์ฐ, ์๋ก์ด ํ ํด๋์ค๋ก ๋ถ๋ฆฌํ๋ ๊ฒ ์ด๋ ต๊ฑฐ๋ ๋ถ๊ฐ๋ฅํ๋ค
- ๊ทธ๋ฌ๋ฏ๋ก ํด๋น ํด๋์ค ๋ด๋ถ์ ์กด์ฌํ๋๋ก ๋ง๋ค์ด์ผ ํ๋ค.
- ๋น์ ์ ๋ฉค๋ฒ ํด๋์ค์ ์ ๊ทผ์ ํ์์ ๊ฒฝ์ฐ ์ผ๋จ privateํ๊ฒ ๋ง๋ค์ด๋ณด๊ณ , ๊ทธ๊ฒ ํ๋ค๋ค๋ฉด public, proteced๋ก ๋ณ๊ฒฝํ๋ ๊ฑฐ๋ฅผ ์๊ฐํด๋ณด์
- ์ ์ ๋ฉค๋ฒ์ผ ๊ฒฝ์ฐ์๋ง public ์ผ ๊ฒฝ์ฐ๊ฐ ์์๋ฏ.
[์์ดํ
25]
- ์ปดํ์ผ๋ฌ๊ฐ ์ด๋ ๊ฒ ๋์ํ ์ ์๋ค๋ ๊ฒ ์ฌ๋ฐ๋ค.
- ์๋ฐ ์ปดํ์ผ์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ๋จ์๊ฐ ํ์ผ ๋จ์์ฌ์...๊ทธ๋ฐ๋ฏ