제네릭(Generic) 이란?제네릭이란, 클래스나 함수에서 타입을 고정하지 않고, 나중에 타입을 외부에서 주입받아 사용하는 문법입니다.예를 들어, 리스트를 만들 때 List 또는 List 처럼 타입을 지정하죠?이것도 내부적으로는 제네릭을 사용한 대표적인 예입니다. 제네릭이 왜 필요할까?제네릭을 사용하지 않으면, 여러 타입을 처리하면서 코드를 타입마다 반복해서 작성해야 합니다.예를 들어, BoxOfInt, BoxOfString 등 타입마다 클래스 따로 만들겠죠.하지만 제네릭을 사용하면 하나의 클래스와 함수로 모든 타입을 처리할 수 있습니다. class Box(val content: T) { fun getContent(): T { return content }} 여기서 T 는 타입..