Generic은 입력되는 객체의 타입을 보장하기 위해 사용된다. 입력으로 정해진 객체 혹은 그의 부모, 자식 등으로 다양한 객체 타입을 하나의 코드로 사용할 수 있는 편리한 기능이다.E: Element, 컬렉션의 요소를 표시할 때 사용T: Class TypeV: Val
인터페이스는 자신을 구현한 클래스의 인스턴스를 참조할 수 있는 타입 역할을 한다. 달리 말해, 클래스가 어떤 인터페이스를 구현한다는 것은 자신의 인스턴스로 무엇을 할 수 있는지를 클라이언트에 얘기해 주는 것이다. 인터페이스는 오직 이 용도로만 사용되어야 한다.이 지침