제네릭(Generic)은 클래스 내부에서 타입을 지정하는 것이 아닌 외부에서 지정되는 것을 의미한다. 제네릭을 사용하면 잘못된 타입이 들어오거나 반환되는 것을 컴파일 단계에서 방지할 수 있다.
자바 제네릭(Generics)과 컬렉션(Collections)
동일한 기능을 하는 메서드에서 파라미터 타입만 다르게 사용할 경우, 제네릭 타입이 유용하게 쓰일 수 있다.
제네릭 타입의 경우 컴파일시 잘못 사용되는 타입 문제점을 제거하기 위해 강하게 타입 체크를 수행하여 타입 문제가 발생될 가능성을 방지한다.
컴파일 단계에서 컴파일러가 타입 캐스팅을 수행해주기 때문에 불필요하게 코드에서 타입 캐스팅을 해줄 필요가 없다.