지네릭스(Generics)?
: 컴파일시 타입을 체크해주는 기능(compile-time type check) - JDK1.5
→ 컴파일때 타입을 확인할 수 있긴했는데, 한계가 있었음. 그 한계를 넘게해주는게 지네릭스ArrayList<Tv> tvList = new ArrayList<Tv>(); // ArrayList는 Object[]배열을 가지고 있기 때문에 모든 종류의 객체가 저장 가능한데 // 지네릭스를 통해 한 객체만 저장할 수 있도록 할 수 있음 (컴파일러에게 정보제공) tvList.add(new Tv()); // OK tvList.add(new Audio()); // 컴파일 에러. Tv 외 다른 타입은 저장 불가
- 객체의 타입 안정성을 높이고 형변환의 번거로움을 줄여줌
↳ 지네릭스를 사용하지 않을 때는 형변환을 해줘야하는데,
지네릭스를 이용하면 들어올 수 있는 객체가 정해져있으므로 형변환을 할 필요가 없다.✔︎ 장점
- 타입 안정성을 제공 ( (ClassCastException : 형변환 에러)를 막을 수 있음 )
- 타입체크와 형변환을 생략할 수 있으므로 코드가 간결해 짐
출처
- 자바의 정석 기초편 : ch12 - 1