개념
경우
공변성
A → B 일 때, T<A> → T<B> 인 경우
반공변성
A → B 일 때, T<B> → T<A> 인 경우
이변성
A → B 일 때, T<A> → T<B> 도 되고 T<B> → T<A> 도 되는 경우
무공변성
A → B 일 때, T<A> → T<B> 도 안 되고 T<B> → T<A> 도 안 되는 경우
기본적으로 타입스크립트는 공변성!!
그러나 함수의 매개변수는 반공변성