์์ดํ
32. ํต์ฌ ์ ๋ฆฌ 12:00 ์ด ๋ถ๋ถ์์ ์ง๋ฌธ์ด ์์ต๋๋ค.
์ ๊ฐ ์ดํดํ ๋ด์ฉ์ผ๋ก ์ ๋ ๊ฑฐ๋ผ์ ํ๋ฆด ์๋ ์์ง๋ง, ๋ต๋ณ ๋จ๊ฒจ๋ด
๋๋ค.(ํ๋ฆฐ ๋ด์ฉ ์์ผ๋ฉด ํผ๋๋ฐฑํด์ฃผ์ธ์!)๋จผ์ ์ง๋ฌธ์๋์ด ์ฃผ์ ์์ ์ฝ๋์ ๊ฒฝ์ฐ์๋ Object obj = new Object(); obj = "test"; // ์ถ์์ ์ธ Object ์ ๋ด์ String string = (String) obj; //์ด ๊ฒฝ์ฐ์๋ "test" ๊ฐ์ฒด ์์ฒด๊ฐ String ํด๋์ค์ด๋ฏ๋ก ์บ์คํ
์ ์ด์ฉํด์ String Object์ ์ด๋์ด ์์ ๋กญ์ต๋๋ค.๋ฐ๋ฉด์ toArray(T... args)์ ๊ฒฝ์ฐ ๊ฐ๋ณ ์ธ์๋ฅผ Object[]๋ฅผ ์์ฑํฉ๋๋ค.(194p 3๋ฒ์งธ ์ค, ์ด ๋ถ๋ถ์ ๋ํ ์์ธํ ๋ด์ฉ์ ํ์
์ด๋ ์ด์ (Type Erasure)๋ฅผ ๊ฒ์ํด๋ณด์๋ฉด ๋ ๊บผ ๊ฐ์ต๋๋ค.)๊ฐ๋ณ ์ธ์๋ฅผ ๋ณด๊ดํ๋ Object[] ๊ฐ์ฒด๋ ์์์ "test"๋ผ๋ '๊ฐ์ฒด ์์ฒด'๊ฐ String์ด๋ผ์ String Object ์บ์คํ
์ด ์์ ๋ก์ ๋ ๊ฒ๊ณผ๋ ๋ฌ๋ฆฌ Object[]๊ฐ String[]์ผ๋ก ๋ค์ด ์บ์คํ
๋ ์ ์์ต๋๋ค.๊ทธ๋์ String[] attributes = (String[]) Object[] ์ด ๋ถ๋ถ์์ ์ปดํ์ผ๋ฌ์ ์บ์คํ
๊ณผ์ ์ค ์๋ฌ๊ฐ ๋ฐ์ํ๋ ๊ฑฐ๋ผ๊ณ ์๊ฐํ์๋ฉด ๋ ๊ฒ ๊ฐ์ต๋๋ค.์ ๋ธ๋ก๊ทธ์ ๋ ์์ธํ๊ฒ Type Erasure ๊ณผ์ ๊ณผ ํจ๊ป ํ์
์๋ฌ ๋ฐ์ ๊ณผ์ ์ ์ ์ด๋์์ผ๋ ํ์ํ์๋ค๋ฉด ์ฐธ๊ณ ํด์ฃผ์ธ์!์ดํํฐ๋ธ ์๋ฐ ์ง๋ฌธ ๊ธ๊ณผ ํจ๊ป ์์ดํ
32 ์ดํด๋ณด๊ธฐ