[typescript] 타입 호환성이란?
interface Animal {
  name: string;
}

interface Dog extends Animal {
  breed: string;
}

let animal: Animal;
let dog: Dog;

animal = dog; // ✔️ Dog 타입은 Animal 타입에 할당 가능합니다.
dog = animal; // ❌ Animal 타입은 Dog 타입에 할당할 수 없습니다. 컴파일 오류 발생

여기서 DogAnimal을 확장하고 있으므로 DogAnimal을 포괄한다고 볼 수 있습니다. 이러한 타입 호환성은 객체, 함수, 클래스 등 여러 부분에서 적용됩니다.

자세한 내용은 TypeScript 공식 문서의 “Type Compatibility” 항목을 확인하시기 바랍니다. (https://www.typescriptlang.org/docs/handbook/type-compatibility.html)