[Java] Generic: 클래스의 타입 매개변수 제약
기본적으로 제너릭의 타입 매개변수는 모든 참조 타입을 받을 수 있다.
하지만... 보다 견고한 인터페이스를 구성하기 위해서는 타입이 특정 인터페이스에 종속되도록 할 필요가 있다.
그럴 때 사용하는 것이 extends 키워드다.
타입 매개변수에
예를 들기 위해 3가지의 클래스를 구성했다.
Top -> Middle -> Bottom 순으로 상속된다.


그리고 제약을 건 타입 매개변수의 제너릭 클래스다.

Middle의 서브타입만 들어갈 수 있다는 뜻이다.
그럼 Middle이나, Middle의 서브타입인 Bottom은 잘 들어간다.


하지만 Top이나, 기타 관련없는 타입들은 들어가지 못한다.
