제네릭을 사용하는 이유와 자바에서 제네릭 타입의 컴파일 타임 동작원리에 대하여 설명해주세요.제네릭을 사용하는 이유타입 안전성 보장:제네릭을 사용하면 컴파일 시점에서 타입을 체크할 수 있습니다. 이를 통해 런타임 에러를 줄이고, 잘못된 타입이 사용되는 것을 방지할 수 있습니다.List list = new ArrayList();list.add("Hello");String s = list.get(0); // 타입 캐스팅이 필요 없음코드 재사용성 향상:제네릭을 사용하면 다양한 타입에 대해 동일한 코드를 재사용할 수 있습니다. 이를 통해 코드 중복을 줄이고 유지보수를 쉽게 할 수 있습니다.public class Box { private T content; public void setContent(T c..