Type vs Interface 차이

TypeScript에서 객체 타입을 정의할 때 typeinterface 모두 사용할 수 있다.

하지만 둘 사이에는 차이가 있으며, 상황에 따라 적절하게 선택해야 한다.

🧩 주요 차이

항목 type interface
확장 & 사용 extends 사용
중복 선언 불가 가능
Mapped Type 가능 제한적
클래스 적용 가능 가능
유연성 높음 계약 중심

🧪 Type 예시

type User = {
    name: string;
    age: number;
};

type Admin = User & {
    isAdmin: boolean;
};

🧪 Interface 예시

interface User {
    name: string;
    age: number;
}

interface Admin extends User {
    isAdmin: boolean;
}

⚠️ 선택 기준

  • 단순 타입 조합은 type이 편하다.
  • 여러 곳에서 확장되는 계약은 interface가 유리하다.

연결문서

댓글남기기