Generic
generic 이란?
- 선언 시점이 아니라 생성 시점에 타입을 명시해서 하나의 타입만이 아니라 다양한 타입을 사용할 수 있도록 한다
- 사용할 때 외부에서 정의하는 타입
- 제네릭은 모든 타입을 받아들인다는 점에서 입력파라미터 혹은 리턴타입에 any를 쓰는 것과 비슷한 점이 있지만, 제네릭을 사용시 타입파라미터를 구체적으로 정의하기 때문에 구체적인 입력 타입, 리턴타입을 정의한 것과 같이 타입 체킹을 하게 된다는 장점이 있다.
- 타입 제약을 둘 수 있는 것들에는
- class 인스턴스
- class 메소드
- 함수 인자
- 함수 리턴 값