JVM 언어 의 공변제네릭에서는 3가지 공변 성질을 제공한다. 공변(Variance) : A가 B의 하위 타입일 때, T 가 T 의 하위 타입이면 T가 공변의 성질을 가지고 있다고 말한다. 반공변(Contravariance) : A가 B의 하위 타입일 떄, T 가 T 의 하위 타입이면 T가 반공변의 성질을 가지고 있다고 말한다.https://wjdtn7823.tistory.com/88