[TypeScript] 인터페이스 확장

kjy0124·2026년 2월 28일
post-thumbnail

🎯 인터페이스 확장

  • 아래 코드와 같이 동일한 코드가 여러번 사용되어 비효율적일 때 인터페이스 확장
    을 하게 됨
  • 추가로 interface 뿐만 아니라, type별칭도 확장 가능
interface Animal {
  name: string;
  age: number;
}
interface Dog {
  name: string;
  age: number;
  isBark: boolean;
}
interface Cat {
  name: string;
  age: number;
  isScratch: boolean;
}
interface Chicken {
  name: string;
  age: number;
  isFly: boolean;
}

✅ 확장 방법

interface Animal {
  name: string;
  age: number;
}
interface Dog extends Animal {
  isBark: boolean;
}
interface Cat extends Animal {
  isScratch: boolean;
}
interface Chicken extends Animal {
  isFly: boolean;
}

const dog: Dog = {
  name: "hello",
  age: 22,
  isBark: true,
};
  • 동일한 코드를 extends로 슈퍼타입에 확장 시켜주어 더욱 더 코드가 간결해진 것을 볼 수 있다.

    A extends B
    A를 B로 확장

  • 이는 확장 또는 상속이라고도 불림

  • 또, 상속을 받는 인터페이스에서 아래 코드와 같이 리터럴 타입을 지정할 수도 있다.

interface Dog extends Animal {
  name: "kjkj";
  isBark: boolean;
}
  • 단, 이렇게 리터럴타입을 지정해주면 추가적인 변수에 name은 따로 지정을 못함.

출처

한 입 크기로 잘라먹는 타입스크립트
https://www.inflearn.com/course/한입-크기-타입스크립트/dashboard

profile
개발 공부...

0개의 댓글