[TS] 인터페이스 선언 합침

TIL

타입 별칭은 동일한 이름으로 중복 선언할 수 없다.

// ❌
type Person = {
  name: string;
};

type Person = {
  age: number;
};

이렇게 동일한 이름의 타입 별칭을 선언하면 오류가 발생한다.

 

반면 인터페이스는 동일한 이름으로 중복 선언이 가능하다.

따라서 위 코드에서 선언한 Person 인터페이스들은 합쳐져 다음과 같은 인터페이스가 된다.

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

이제 Person타입의 객체를 만들 때는 두 프로퍼티를 모두 포함해야 한다.

const person: Person = {
  name: "고견",
  age: 100,
};

 

주의할 점

동일한 이름의 프로퍼티를 서로 다른 타입으로 정의하면 충돌이 발생한다.

interface Person {
  name: string;
}

interface Person {
  name: number; // ❌ 충돌
  age: number;
}

 

선언 합침에서 이런 충돌은 허용하지 않기 때문에 같은 프로퍼티는 반드시 동일한 타입으로 정의해야 한다.

interface Person {
  name: string;
}

interface Person {
  name: string; // ✅ 같은 타입
  age: number;
}

'TIL' 카테고리의 다른 글

[TS] 접근 제어자  (0) 2025.11.01
[TS] 클래스  (0) 2025.11.01
[TS] 인터페이스 확장  (0) 2025.11.01
[TS] 인터페이스  (0) 2025.11.01
[TS] 사용자 정의 타입 가드  (0) 2025.11.01
'TIL' 카테고리의 다른 글
  • [TS] 접근 제어자
  • [TS] 클래스
  • [TS] 인터페이스 확장
  • [TS] 인터페이스
고견
고견
개발 자국 남기기
  • 고견
    개발자국
    고견
  • 전체
    오늘
    어제
    • 분류 전체보기 (157) N
      • Frontend (29)
        • Next.js (16)
        • JavaScript (7)
      • CS (19) N
        • 자료구조 (9)
        • 알고리즘 (5)
        • 운영체제 (4) N
        • 네트워크 (1) N
      • TIL (93)
      • Dev Log (16)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    memory
    C
    페이지 라우터
    앱 라우터
    함수 타입
    ai 감성 일기장
    자료구조
    Pages Router
    제네릭
    CS
    문자열
    타입 좁히기
    generic
    cs50
    배열
    typescript
    Trouble Shooting
    바닐라 자바스크립트
    Next.js
    App Router
    javascript
    useState
    react
    algorithm
    알고리즘
    인터페이스
    트러블 슈팅
    emotion diary
    클래스
    Spa
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
고견
[TS] 인터페이스 선언 합침
상단으로

티스토리툴바