Language/Java

Generics

Jinn 2023. 8. 1. 21:21

- 컴파일시 타입을 체크해주는 기능

- 타입 안정성을 높이고(ClassCastException 예방) 형변환 번거로움을 줄여줌(코드 간결)

 

ClassCastException은 실행시 발생하는 에러로 프로그램이 시작하고 발생하므로 피해야 함

지네릭스는 실행시 발생하는 에러를 컴파일 단계에서 체크하므로 프로그램이 실행하기 전에 컴파일 에러 발생함

ArrayList list = new ArrayList();

list.add(new Tv());
Tv t = (Tv)list.get(0); // Object 타입을 반환하므로 형변환 필요함

///////////////////////////////////////

ArrayList<Tv> list = new ArrayList<Tv>();

list.add(new Tv());
Tv t = list.get(0); // Tv 타입만 갖기 때문에 형변환 필요없음