Type vs Interface
Type vs Interface 차이
TypeScript에서 객체 타입을 정의할 때
type과interface모두 사용할 수 있다.
하지만 둘 사이에는 차이가 있으며, 상황에 따라 적절하게 선택해야 한다.
🧩 주요 차이
| 항목 | 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가 유리하다.
댓글남기기