더북(TheBook)

2.9.1 인터페이스 선언 병합

타입 별칭과는 다른 인터페이스의 주요한 특징이 있습니다. 바로 인터페이스끼리는 서로 합쳐진다는 것입니다.

interface Merge {
  one: string;
}
interface Merge {
  two: number;
}
const example: Merge = {
  one: '1',
  two: 2,
}

같은 이름으로 여러 인터페이스를 선언할 수 있습니다. 이러면 모든 Merge 인터페이스가 하나로 합쳐집니다. 이를 선언 병합(declaration merging)이라고 부릅니다. 지금은 인터페이스가 서로 병합된 것으로, Merge 인터페이스에 onetwo 속성이 모두 있습니다. 이러한 기능을 만들어둔 이유는 나중에 다른 사람이 인터페이스를 확장할 수 있도록 하기 위함입니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.