공변성(Covariance) : A가 B의 서브타입이면, T는 T의 서브타입이다.반공변성(Contravariance) : A가 B의 서브타입이면, T는 T의 서브타입이다.이변성(Bivariance) : A가 B의 서브타입이면, T → T도 되고 T → T도 되는 경우불변성(immutability) : A가 B의 서브타입이더라도, T → T도 안 되고 T → T도 안 되는 경우 뭔소린지 모르겠다. 일단 코드로 용어 하나하나 정리해보면,let stringArray: Array = [];let array: Array = [];array = stringArray; // OKstringArray = array; // Errorlet subObj: { a: string; b: number } = { a: '1', ..