Generics
νλ μ΄μμ 맀κ°λ³μ νμ (Paramter Type) μ μ μΈνκ³ μλ ν΄λμ€λ μΈν°νμ΄μ€λ₯Ό μ λ€λ¦ νμ μ΄λΌ νλ€.
μ λ€λ¦μ μ¬μ© μ½λλ λ€μ μ΄μ μ κ°μ§λ€.
μ»΄νμΌ μμ μ μ½λλ₯Ό 체ν¬
Java μ μ»΄νμΌλ¬λ νμ μ μμ μ΄ λ³΄μ₯λ (Typesafe) ν μ½λλ₯Ό μ§ν₯νλ€.
μ»΄νμΌμμ μ€λ₯λ₯Ό μμ νλκ²μ΄ λ°νμ μ μ€λ₯λ₯Ό μμ νλκ²μ΄ μ°ΎκΈ° μ½κΈ° λλ¬Έμ΄λ€.
λ³λμ ν΄λμ€ μΊμ€ν μ μ κ±°
μ λ€λ¦μ μ¬μ©ν μ½λμ μ¬μ©νμ§ μλ μ½λλ₯Ό λΉκ΅ν΄λ³΄μ
List list = new ArrayList();
list.add("Hello");
String str = (String) list.get(0);
List<String> list = new ArrayList<>();
list.add("Hello");
String str = list.get(0); // no cast
μ λ€λ¦ν νλ‘κ·Έλλ° μκ³ λ¦¬μ¦μ ꡬν
νμ μ΄ μμ μ μ΄λ©΄μ κ°λ μ±μ΄ μλ μ λ€λ¦ μκ³ λ¦¬μ¦μ μ½λλ₯Ό ꡬνκ°λ₯νλ€.
β Reflection Generic Types β