✨타입과 집합 타입은 여러 개의 값을 포함하는 집합으로 생각할 수 있다. 그리고 타입 간에는 서로 포함 관계(슈퍼-부모 타입, 서브-자식 타입)이 존재한다. ✔타입 호환성A와 B 두개의 타입이 존재할 때 A 타입의 값을 B 타입으로 취급해도 괜찮은지 판단하는 것업캐스팅: 서브 타입의 값을 슈퍼 타입의 값으로 취급하는 것 ✔다운캐스팅: 반대로 슈퍼 타입의 값을 서브 타입의 값으로 취급하는 것 ✖→ 집합의 포함 관계처럼 업캐스팅은 모든 상황에 가능하지만, 다운 캐스팅은 대부분의 상황에 불가하다. ✔Unknown(전체 집합)모든 서브 타입을 부분집합으로 갖는 전체 집합으로 unknown 타입 변수에 모든 타입의 값을 할당할 수 있다. 반대로 unknown 타입의 값은 any를 제외한 어떠한 타입의 변수에도 할..