ClassName< T >
클래스 선언이 위와 같이 되어 있어서, <> 안에 타입을 선언하면, 해당 클래스의 타입 자체가 그 타입으로 바뀌게 된다.
List list = new ArrayList();
list.add("안녕하세요");
String hello = (String)list.get(0); // Object 리턴이므로 형변환 필수
List<String> list2 = new ArrayList<String>();
list2.add("안녕하세요");
String hello2 = list2.get(0); // 자동으로 String을 리턴하므로 형변환 필요 X