<aside> 💡 제네릭의 핵심은 자료형을 특정 문자로 지정해서 타입 매개변수와 타입 인자로 사용하는 것
</aside>
함수나 클래스 등을 제네릭으로 사용하면 일반화 함수나 클래스로 정의할 수 있어서 사용 시점에 다양한 자료형을 처리할 수 있음
함수, 클래스, 인터페이스 등에 일반화할 자료형에 대해 문자로 타입 매개변수를 지정함. 실제 사용할 때 타입 인자로 필요한 자료형을 전달해서 사용
제네릭을 구성할 수 있는 것 : 함수, 클래스, 추상 클래스, 인터페이스, 확장함수, 확장 속성
제네릭을 구성할 수 없는 것 : 하나의 객체만 만드는 object 정의, 동반 객체, object 표현식
→ 하나의 객체만 만들므로 특별히 일반화할 필요가 없음
클래스와 object 내의 멤버는 별도의 제네릭으로 만들 수 없음