main에서 Dog만 사용해도 클래스 계약에는 Integer가 올 수 있습니다.
<T>
모든 참조 타입
Object
size 없음
컴파일 실패
계약 부재
T extends Animal
기능 확보
T 유지
Dog 보존
핵심: 상한은 입력을 줄이고 구현 가능 행동을 늘립니다.