'데이터 형식에 의존하지 않고, 하나의 값이 여러 다른 데이터 타입들을 가질 수 있도록 하는 방법'이다. 생각해보자. 만약에 우리가 어떤 자료구조를 만들어 배포하려고 한다. 그런데 String 타입도 지원하고싶고 Integer타입도 지원하고 싶고 많은 타입을 지원하고 싶다. 그러면 String에 대한 클래스, Integer에 대한 클래스 등 하나하나 타입에 따라 만들 것인가? 그건 너무 비효율적이다. 이러한 문제를 해결하기 위해 우리는 제네릭이라는 것을 사용한다. (정확히 말하자면 타입의 경계를 지정하고, 컴파일 때 해당 타입으로 만드는 것이다.) 제네릭이 뭐야? -> 제네릭은 자바에서 객체의 타입을 지정하는 방법. -> 컴파일 단계에서 자료형을 체크해주는 도구. Generic(제네릭)의 장점. 왜 써야..