Generic은 어떤 클래스 혹은 함수에서 사용할 타입을 그 함수나 클래스를 사용할 때 결정하는 프로그래밍 기법을 말한다.
기본적으로 Java와 같은 정적 타입의 언어는 클래스 또는 함수를 선언하는 시점에서 매개변수 또는 리턴 타입을 지정해야 한다.이때, Generic을 사용하면 범용적인 매개변수 또는 리턴타입을 지정할 수 있다
• 타입이 고정되는 것을 방지하고 재사용 가능한 요소를 선언할 수 있습니다.
• 타입 검사를 컴파일 시간에 진행함으로써 타입 안정성을 보장합니다.
• 캐스팅 관련 코드를 제거할 수 있습니다.
• 제네릭 로직을 이용해 타입을 다르게 받을 수 있는 재사용 코드를 만들 수 있습니다.
참조