정의
- 제네릭은 클래스 내부에서 사용할 데이터 타입을 외부에서 지정하는 기법을 의미
- 데이터의 타입을 일반화한다는 것을 의미
- 제네릭은 클래스나 메소드에서 사용할 내부 데이터 타입을 컴파일 시에 미리 지정하는 방법
제네릭 사용 이유
- 형변환이 필요없고, 타입 안정성이 보장됨
- 코드의 재사용성이 높아짐
- 제네릭 코드를 사용하면 타입을 국한하기 때문에 요소를 찾아올 때 타입 변환을 할 필요가 없어 프로그램 성능이 향상되는 효과를 얻을 수 있음
제네릭 사용법
- 제네릭 타입은 타입을 파라미터로 가지는 클래스와 인터페이스를 말함
- 제네릭 타입은 클래스 또는 인터페이스 이름 뒤에 <> 부호가 붙고 사이에 타입 파라미터가 위치
- 타입 파라미터는 정해진 규칙은 없지만 일반적으로 대문자 알파벳 한글자로 표현
- 자주 사용하는 타입 인자 👇
제네릭 사용 시기
- 자바 코드에서 선언되고 사용된 제네릭 타입은 컴파일 시 컴파일러에 의해 자동으로 검사되어 타입 변환됨
- 그리고서 코드 내의 모든 제네릭 타입은 제거되어, 컴파일된 class 파일에는 어떠한 제네릭 타입도 포함되지 않게 됨
- 이런 식으로 동작하는 이유는 제네릭을 사용하지 않는 코드와의 호환성을 유지하기 위해
참조 : https://coding-factory.tistory.com/573 | [Java] 제네릭(Generic) 사용법 & 예제 총정리 | 코딩팩토리