interface와 type은 TypeScript에서 타입을 정의하는 두 가지 방법입니다. 둘 다 객체, 함수, 클래스 등을 포함한 모든 타입을 정의할 수 있습니다. 그러나 두 방법은 몇 가지 차이점이 있습니다. interface는 주로 객체의 구조를 정의할 때 사용되고, type은 주로 타입(alias)을 정의할 때 사용됩니다. interface는 확장(extends)이 가능하지만, type은 불가능합니다. interface는 선언 합침(declaration merging)이 가능합니다. 즉, 같은 이름의 인터페이스를 여러 번 선언할 수 있고, TypeScript는 이를 자동으로 합쳐줍니다. type은 합칠 수 없습니다. interface는 구조가 비슷한 다른 인터페이스와 함께 사용될 때 유용합니다. ..