๐์ฝ์ ์ฑ ์ ๋ฆฌ/์ดํํฐ๋ธ์๋ฐ (11) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ [์ดํํฐ๋ธ ์๋ฐ] 12์ฅ : ์ง๋ ฌํ ๊ฐ์ฒด ์ง๋ ฌํ์ ๋ํด ๋ค๋ค๋ณด์. ๊ฐ์ฒด ์ง๋ ฌํ๋ ์๋ฐ๊ฐ ๊ฐ์ฒด๋ฅผ ๋ฐ์ดํธ ์คํธ๋ฆผ์ผ๋ก ์ธ์ฝ๋ฉํ๊ณ (์ง๋ ฌํ) ๊ทธ ๋ฐ์ดํธ ์คํธ๋ฆผ์ผ๋ก๋ถํฐ ๋ค์ ๊ฐ์ฒด๋ฅผ ์ฌ๊ตฌ์ฑ(์ญ์ง๋ ฌํ) ๋ฉ์ปค๋์ฆ์ด๋ค. ์ง๋ ฌํ๋ ๊ฐ์ฒด๋ ๋ค๋ฅธ VM์ ์ ์กํ๊ฑฐ๋ ๋์คํฌ์ ์ ์ฅํ ํ ๋์ค์ ์ญ์ง๋ ฌํํ ์ ์๋ค. → ์ด๋ฒ ์ฅ์์๋ ์ง๋ ฌํ๊ฐ ํ๊ณ ์๋ ์ํ๊ณผ ๊ทธ์ํ์ ์ต์ํํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์. ์์ดํ 85 : ์๋ฐ ์ง๋ ฌํ ๋์์ ์ฐพ์ผ๋ผ ์ญ์ง๋ ฌํ๋ฅผ ํจ๋ถ๋ก ์ฌ์ฉํ๋ฉด ๊ณต๊ฒฉ์ ๋ ธ์ถ๋๊ฒ ๋๋ค. ์ง๋ ฌํ ์ํ์ ํํผํ๋ ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ ์๋ฌด๊ฒ๋ ์ญ์ง๋ ฌํํ์ง ์๋ ๊ฒ์ด๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์๋ก์ด ์์คํ ์์ ์๋ฐ ์ง๋ ฌํ๋ฅผ ์จ์ผ ํ ์ด์ ๋ ์ ํ ์๋ค. (์ํํ๋๊น) → ๊ฐ์ฒด์ ๋ฐ์ดํธ ์ํ์ค๋ฅผ ๋ณํํด์ฃผ๋ ๋ค๋ฅธ ๋งค์ปค๋์ฆ์ ์ฌ์ฉํ์. ๋ค์ํ ํ๋ซํผ ์ง์ ์ฐ์ํ ์ฑ๋ฅ, ํ๋ถํ ์ง์ ๋๊ตฌ ์.. [์ดํํฐ๋ธ ์๋ฐ] 11์ฅ : ๋์์ฑ ์ค๋ ๋๋ ์ฌ๋ฌ ํ๋์ ๋์์ ์ํํ ์ ์๊ฒ ํด์ค๋ค. ํ์ง๋ง ๋์์ฑํ๋ก๊ทธ๋๋ฐ์ ์ด๋ ต๊ณ ์๋ชป๋ ์ ์๋ ์ผ์ด ๋์ด๋๋ฉฐ ๋ฌธ์ ๋ฅผ ์ฌํํ๊ธฐ๋ ์ด๋ ต๋ค (๋๋ฒ๊น ์ด ์ด๋ ต๋ค) ํ์ง๋ง, ์ด๋ ต๋ค๊ณ ํผํด์๋ ์๋๋ค. ์ค๋๋ ๋๋ฆฌ ์ฐ์ด๋ ๋ค์ค์ฝ์ด ํ๋ก์ธ์์ ํ์ ์ ๋๋ก ํ์ฉํ๋ ค๋ฉด ๋ฐ๋์ ๋ด๊ฒ์ผ๋ก ๋ง๋ค์ด์ผ๋ง ํ๋ ๊ธฐ์ ์ด๋ค. ์์ดํ 78 : ๊ณต์ ์ค์ธ ๊ฐ๋ณ ๋ฐ์ดํฐ๋ ๋๊ธฐํํด ์ฌ์ฉํ๋ผ ๋๊ธฐํ์ ๊ธฐ๋ฅ ๋ฐฐํ์ ์คํ ๋ง์ ํ๋ก๊ทธ๋๋จธ๊ฐ ๋๊ธฐํ๋ฅผ ๋ฐฐํ์ ์คํ, ์ฆ ํ ์ค๋ ๋๊ฐ ๋ณ๊ฒฝํ๋ ์ค์ด๋ผ์ ์ํ๊ฐ ์ผ๊ด๋์ง ์์ ์๊ฐ์ ๊ฐ์ฒด๋ฅผ ๋ค๋ฅธ ์ค๋ ๋๊ฐ ๋ณด์ง ๋ชปํ๊ฒ ๋ง๋ ์ฉ๋๋ก๋ง ์๊ฐํ๋ค. ์ผ๊ด๋ ๊ฐ์ฒด ์์ฑ → ์ ๊ทผํ๋ ๋ฉ์๋๊ฐ ๊ฐ์ฒด์ ๋ฝ์ ๊ฒ → ๋ฝ์ ๊ฑด ๋ฉ์๋๊ฐ ๊ฐ์ฒด์ ์ํ๋ฅผ ํ์ธํ๊ณ ์์ ํจ ⇒ ๊ฐ์ฒด๋ฅผ ํ๋์ ์ผ๊ด๋ ์ํ์์ ๋ค๋ฅธ ์ผ๊ด๋ ์ํ๋ก .. [์ดํํฐ๋ธ ์๋ฐ] 10์ฅ : ์์ธ ์์ธ๋ฅผ ์ ๋๋ก ํ์ฉํ๋ค๋ฉด ํ๋ก๊ทธ๋จ์ ๊ฐ๋ ์ฑ, ์ ๋ขฐ์ฑ, ์ ์ง๋ณด์์ฑ์ ๋์์ง๊ฒ ํ ์ ์๋ค. ์์ดํ 69 : ์์ธ๋ ์ง์ง ์์ธ ์ํฉ์์๋ง ์ฌ์ฉํ๋ผ ์๋ ์ฝ๋๋ ์์ธ๋ฅผ ์์ ํ ์๋ชป ์ฌ์ฉํ ์์ด๋ค. try { int i = 0; while(true) range[i++].climb(); } catch (ArrayIndexOutOfBoundsException e) { } ํด๋น ์ฝ๋๋ ๋ฌดํ๋ฃจํ๋ฅผ ๋๋ค๊ฐ ์์ธ๋ฅผ ํตํด ๋์ ๋ด๊ณ ์๋ค. ์ด ์ฝ๋๋ ์๋ง ๋ฐฐ์ด ๊ฒฝ๊ณ๊ฒ์ฌ๋ฅผ ํ์ง ์๊ธฐ์ ์ฑ๋ฅ์ด ๋ ์ข์ ๊ฑฐ๋ผ ์๊ฐํ๊ณ ์ด๊ฒ ๊ฐ๋ค. ํ์ง๋ง ์ด๋ ์๋ชป๋ ์ถ๋ก ์ด๋ค. ์์ธ๋ ์์ธ ์ํฉ์์ ์ธ ์ฉ๋๋ก ์ค๊ณ๋์๊ณ ์ต์ ํ์ ์ฝํ๋ค. try-catch ๋ธ๋ก์์์๋ JVM์ด ์ ์ฉํ ์ ์๋ ์ต์ ํ๊ฐ ์ ํ๋๋ค. ๋ฐฐ์ด์ ์ํํ๋ ํ์ค๊ด์ฉ๊ตฌ๋ ์ค๋ณต ๊ฒ.. [์ดํํฐ๋ธ ์๋ฐ] 9์ฅ : ์ผ๋ฐ์ ์ธ ํ๋ก๊ทธ๋๋ฐ ์์น ์ง์ญ๋ณ์, ์ ์ด๊ตฌ์กฐ, ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ๋ฐ์ดํฐ ํ์ , ๋ฆฌํ๋ ์ , ๋ค์ดํฐ๋ธ ๋ฉ์๋์ ๋ํด ์์๋ณด์ ์์ดํ 57 : ์ง์ญ๋ณ์์ ๋ฒ์๋ฅผ ์ต์ํํ๋ผ ๋ฒ์๋ฅผ ์ต์ํ๋ํ๋ ๋ฐฉ๋ฒ ์ง์ญ๋ณ์์ ๋ฒ์๋ฅผ ์ค์ด๋ ๊ฐ์ฅ ๊ฐ๋ ฅํ ๋ฐฉ๋ฒ์ ‘๊ฐ์ฅ ์ฒ์ ์ฐ์ผ ๋ ์ ์ธํ๊ธฐ'์ด๋ค. ๊ฑฐ์ ๋ชจ๋ ์ง์ญ๋ณ์๋ ์ ์ธ๊ณผ ๋์์ ์ด๊ธฐํ ํด์ผํ๋ค. ๋ฉ์๋๋ฅผ ์ต๋ํ ์๊ฒ ์ ์งํ๊ณ ํ ๊ฐ์ง ๊ธฐ๋ฅ์ ์ง์คํด๋ผ. (๋ค๋ฅธ ๊ธฐ๋ฅ์์ ์ ๊ทผํ์ง ๋ชปํ๋๋ก) ๋ฒ์๋ฅผ ์ต์๋ก ์ค์ด๋ฉด ์ฝ๋ ๊ฐ๋ ์ฑ๊ณผ ์ ์ง๋ณด์์ฑ์ด ๋์์ง๊ณ ์ค๋ฅ ๊ฐ๋ฅ์ฑ์ด ๋ฎ์์ง๋ค. ์์ ๋ฐ๋ณต ๋ณ์์ ๊ฐ์ ๋ฐ๋ณต๋ฌธ ์ข ๋ฃํ์๋ ์จ์ผํ๋ ์ํฉ์ด ์๋๋ผ๋ฉด while๋ฌธ๋ณด๋ค๋ for๋ฌธ์ด ๋ซ๋ค. for๋ฌธ์ ๋ฐ๋ณต ๋ณ์์ ๋ฒ์๊ฐ for๊ดํธ์์ผ๋ก ์ ํ๋๋ค. try-catch ์ฌ์ฉ ์ ๋ณ์๋ฅผ ์ด๊ธฐํํ๋ ๊ณผ์ ์์ ๊ฒ์ฌ ์์ธ๋ฅผ ๋์ง ๊ฐ๋ฅ์ฑ์ด .. [์ดํํฐ๋ธ ์๋ฐ] 8์ฅ : ๋ฉ์๋ ๋ฉ์๋์ ๋งค๊ฐ๋ณ์์ ๋ฐํ๊ฐ์ ์ด๋ป๊ฒ ์ฒ๋ฆฌํ๋์ง ๋ฉ์๋ ์๊ทธ๋์ฒ๋ ์ด๋ป๊ฒ ์ค๊ณ ํด์ผ ํ๋์ง ์์ดํ 49 : ๋งค๊ฐ๋ณ์๊ฐ ์ ํจํ์ง ๊ฒ์ฌํ๋ผ ๋ฉ์๋์ ์์ฑ์ ๋๋ถ๋ถ์ ์ ๋ ฅ ๋งค๊ฐ๋ณ์ ๊ฐ์ด ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ๊ธฐ๋ฅผ ๋ฐ๋๋ค. ์๋ฅผ ๋ค์ด ์ธ๋ฑ์ค ๊ฐ์ ์์๋ก ๋์ด์ค๋ฉด ์๋๊ณ , ๊ฐ์ฒด์ฐธ์กฐ๋ null์ด ์๋์ฌ์ผ๋ง ํ๋ค. ๋ํ ์๋ชป๋์์ ๋ ๋ฐ์ํ๋ ์์ธ๋ฅผ ๋ฌธ์ํํ์ฌ ๋จ๊ฒจ๋์ผํ๋ค. requiredNonNull๊ณผ assert๋ฅผ ํตํด ๋งค๊ฐ๋ณ์ ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ํ ์ ๋ ์๋ค. ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ํตํด ํ์ ์๊ธธ ์ ์๋ ์๋ฌ๋ฅผ ์กฐ๊ธฐ์ ์ฐพ์ ์ ์๋ค. ๋ฉ์๋๋ ์ต๋ํ ๋ฒ์ฉ์ ์ผ๋ก ์ค๊ณํ๋ผ. ์ ์ฝ์ผ๋ก ์ธํด ๋ณธ๋์ ๊ธฐ๋ฅ์ ๋ชปํด์๋ ์๋๋ค. ์์ดํ 50 : ์ ์์ ๋ฐฉ์ด์ ๋ณต์ฌ๋ณธ์ ๋ง๋ค๋ผ ํด๋ผ์ด์ธํธ๊ฐ ๋ถ๋ณ์์ ๊นจ๋จ๋ฆฌ๋ คํ๋ค๊ณ ์๊ฐํ๊ณ ‘๋ฐฉ์ด์ ์ผ๋ก ํ๋ก.. [์ดํํฐ๋ธ ์๋ฐ] 7์ฅ : ๋๋ค์ ์คํธ๋ฆผ ์๋ฐ 8์์ ํจ์ํ ์ธํฐํ์ด์ค, ๋๋ค, ๋ฉ์๋ ์ฐธ์กฐ๋ผ๋ ๊ฐ๋ ์ด ์ถ๊ฐ๋์๋ค. (ํจ์ ๊ฐ์ฒด ์ฝ๊ฒ ์ฌ์ฉ) ์ด์ ํจ๊ป ์คํธ๋ฆผ API ์ถ๊ฐ๋ก ๋ฐ์ดํฐ ์์์ ์ํ์ค ์ฒ๋ฆฌ๋ฅผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฐจ์์์ ์ง์ํ๊ธฐ ์์ํ๋ค. ์์ดํ 42 : ์ต๋ช ํด๋์ค๋ณด๋ค๋ ๋๋ค๋ฅผ ์ฌ์ฉํ๋ผ ์์ ์ ์๋ฐ์์ ํจ์ ํ์ ํํ ⇒ ์ถ์ ๋ฉ์๋๋ฅผ ํ๋๋ง ๋ด์ ์ธํฐํ์ด์ค(or ์ถ์ํด๋์ค) ์ฌ์ฉ JDK 1.1 ๋ฑ์ฅ ํ ‘์ต๋ช ํด๋์ค'๊ฐ ํจ์ ๊ฐ์ฒด๋ฅผ ๋ง๋๋ ์ฃผ์์๋จ List words = Arrays.asList(args); Collections.sort(words, new Comparator () { public int compare(String s1, String s2) { return Integer.compare(s1.length(), s2.lengt.. [์ดํํฐ๋ธ ์๋ฐ] 6์ฅ : ์ด๊ฑฐ ํ์ ๊ณผ ์ ๋ํ ์ด์ ์๋ฐ์ ํน์ํ ๋ชฉ์ ์ ์ฐธ์กฐ ํ์ 2๊ฐ์ง ํด๋์ค์ ์ผ์ข ์ธ ‘์ด๊ฑฐ ํ์ ’ ์ธํฐํ์ด์ค์ ์ผ์ข ์ธ ‘์ ๋ํ ์ด์ ’ ์ด ๋๊ฐ์ง๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ฌ์ฉํด๋ณด์. ์์ดํ 34 : int ์์ ๋์ ์ด๊ฑฐ ํ์ ์ ์ฌ์ฉํ๋ผ ์ด๊ฑฐ ํ์ ์ ์ผ์ ๊ฐ์์ ์์๊ฐ ์ ์ ํ ๊ทธ์ธ๋ ์ง์ํ์ง ์๋ ํ์ ์ด๋ค. ์ด๊ฑฐ ํ์ ์ด์ ์์ ์ ์ธ (์ ์ ์ด๊ฑฐ ํจํด) public static final int APPLE_FUJI = 0; public static final int APPLE_PIPPIN = 1; public static final int APPLE_SMITH = 2; ... public static final int ORANGE_NEVLE = 0; public static final int ORANGE_TEMPLE = 1; ๋จ์ → ํ์ ์์ .. [์ดํํฐ๋ธ ์๋ฐ] 5์ฅ : ์ ๋ค๋ฆญ ์ ๋ค๋ฆญ ์ง์ํ๊ธฐ ์ ์๋ฐ์๋ ์ปฌ๋ ์ ์์ ๊ฐ์ฒด๋ฅผ ๊บผ๋ผ ๋๋ง๋ค ํ๋ณํ์ ํด์ผํ์ (์ด๋ ์ค์๋ก ์ธํ ๋ฐํ์์๋ฌ๋ฅผ ๋ฐ์์ํด) ๊ทธ๋์ ์ปดํ์ผ๋ฌ๋ ์์์ ํ๋ณํ ์ฝ๋๋ฅผ ์ถ๊ฐํ ์ ์๊ณ ์๋ฑํ ํ์ ์ ๊ฐ์ฒด๋ฅผ ๋ฃ์ผ๋ ค๋ ์๋๋ฅผ ์ปดํ์ผ ๊ณผ์ ์์ ์ฐจ๋จํ์ฌ ๋ ์์ ํ๊ณ ๋ช ํํ ํ๋ก๊ทธ๋จ์ ๋ง๋ค์ด์ค๋ค. ์ ๋ค๋ฆญ์ ์ด์ ์ ์ต๋ํ ์ด๋ฆฌ๊ณ ๋จ์ ์ ์ต์ํํ์ฌ ์ฌ์ฉํด๋ณด์. ์์ดํ 26 : ๋ก(raw) ํ์ ์ ์ฌ์ฉํ์ง ๋ง๋ผ ํด๋์ค, ์ธํฐํ์ด์ค ์ ์ธ์ ‘ํ์ ๋งค๊ฐ๋ณ์'๊ฐ ์ฐ์ด๋ฉด ์ ๋ค๋ฆญ ํด๋์ค, ์ธํฐํ์ด์ค๋ผ๊ณ ๋ถ๋ฆ → ์ด๋ฅผ ํตํ์ด ‘์ ๋๋ฆญ ํ์ '์ด๋ผ๊ณ ํจ → ‘์ ๋ค๋ฆญ ํ์ ’์ ๋งค๊ฐ๋ณ์ํ ํ์ ์ ์ ์ํ๋ค. → ‘์ ๋ค๋ฆญ ํ์ '์ ์ ์ํ๋ฉด ‘raw ํ์ ' ๋ ์ ์๋๋ค. (ํ์ ๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํ์ง ์๋ ํ์ ) ex) List → List (์ ๋ค๋ฆญ ๋.. ์ด์ 1 2 ๋ค์