Kotlin in Action 을 공부하고 Effective kotlin 의 내용을 조금 참조하여 정리한 글입니다. 제네릭 타입 파라미터 제네릭스를 사용하면 타입 파라미터(type parameter)를 받는 타입을 정의할 수 있다. 제네릭 타입의 인스턴스를 만드려면 타입 파라미터를 구체적인 타입 인자(type argument)로 치환해야 한다. 예를 들어 코틀린의 `List` 는 `List` 로 되어 있다. 이에 대한 인스턴스를 만들 때는 `List` 의 모습으로 구체적인 타입 인자를 지정하여 사용한다. 타입 파라미터는 여러 개가 될 수도 있다. 예를 들어 코틀린의 `Map` 은 `Map` 이다. 이런 제네릭 클래스는 `Map` 처럼 구체적인 타입 인자를 지정하여 인스턴스화한다. 코틀린 컴파일러는 보통 ..