![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc2dnFi%2Fbtspg0piEXy%2FRttZc8HdnPhITAFvAyNbCk%2Fimg.png)
제네릭은 나중에 지정할 타입에 대해 작동하는 코드를 의미한다. 타입을 미리 정해놓지 않았기 때문에, 더 일반적인 코드로 작성할 수 있게 한다. 아래의 예시를 통해 제네릭스를 알아보자 기존에 여러 타입에 대해 작동하는 코드를 작성할 때는 상속을 활용하여 구성할 수 있다. 이는 기반 클래스로부터 파생된 클래스를 활용하는 방법이다. open class Pet class Dog : Pet() class Cat: Pet() private fun eat(pet: Pet){ println("Taste is good") } fun main(){ eat(Dog()) eat(Cat()) } 아래와 같이 Cat과 Dog을 같은 기반 클래스 Pet을 상속받게 함으로써, 여러 타입에 대해 작동하는 코드를 구성할 수있다. 그러나..