그알것 — 그럼에도 알아야 할 것들
홈질문커뮤니티
로그인
그알것 — 그럼에도 알아야 할 것들

Service

  • 홈
  • 소개
  • 질문
  • 커뮤니티

My

  • 내 워크스페이스
  • 저장한 질문
  • 작성한 답변

Policy

  • 이용약관
  • 개인정보처리방침
  • 문의

© 2026 그알것 · What Still Matters

질문 목록TypeScript
TypeScript

타입스크립트의 타입과 인터페이스의 차이점을 설명해주세요

실무4/5
설계4/5
인간3/5
기초2/5

면접관의 질문 의도

둘 차이를 단순 비교로 끝내는지, _선언 병합·유니온/조건부_ 같은 구체 차이와 팀 일관성까지 잡는 사람인지를 가른다.

큐레이션 답변

학습 자료

interface와 type 둘 다 타입을 표현하지만 강점이 다르다. interface는 객체 계약 표현과 extends·_선언 병합_에 유리해 라이브러리 공개 API에 자주 쓰인다. type은 유니온·인터섹션·조건부 타입·매핑된 타입처럼 조합형 타입 계산에 강하다. 실무에서는 "객체 확장 계약"은 interface, "복합 타입 계산"은 type으로 역할을 나누면 가독성과 유지보수가 좋아진다. 무엇을 쓰느냐보다 _코드베이스 전체에서 기준을 일관되게 유지하는 것_이 더 중요하다.

좋은 답변 구조

  1. 01interface·type이 "타입 표현"이라는 공통 목적부터 짚는다
  2. 02선언 병합·extends·유니온·조건부 타입을 차이 축으로 설명한다
  3. 03라이브러리 공개 API vs 내부 타입 계산 같은 상황별 선택 기준을 짚는다
  4. 04_코드베이스 일관성_이 무엇을 쓰느냐보다 중요하다는 결론으로 마무리한다

자주 실수하는 포인트

interface와 type을 "문법만 다른 같은 것"으로 단정한다
라이브러리 공개 타입을 type으로만 만들어 선언 병합 확장 길을 막는다
유니온 타입을 interface로 흉내내려다 복잡한 우회를 만든다
한 코드베이스 안에서 기준 없이 interface/type을 혼용한다

실무 맥락

  • 라이브러리/SDK의 공개 타입을 설계하면서 사용자 확장(declaration merging) 여지를 남길지 정하는 작업
  • API 응답 타입을 유니온·조건부로 표현해야 하는 클라이언트 코드
  • 팀 코드 리뷰에서 interface/type 사용 기준을 컨벤션으로 정해야 하는 상황

본인 경험에 녹이는 힌트

선언 병합으로 외부 라이브러리 타입을 확장한 경험이 있다면 interface 강점 이야기를 그대로 답변 후크로 쓸 수 있다

API 응답을 discriminated union으로 모델링한 경험이 있다면 type의 조합 능력으로 연결할 수 있다

팀 컨벤션에 "공개 객체 계약은 interface, 내부 계산은 type" 같은 기준을 정한 경험이 있다면 일관성 이야기로 깊이가 생긴다

커뮤니티 인기 답변

전체 0개

아직 공개된 답변이 없어요. 첫 공개 답변을 남겨보세요.

관련 꼬리 질문

Q1선언 병합이 필요한 실제 사례는 무엇인가요
Q2유니온 타입이 많은 도메인에서는 왜 type이 유리한가요
Q3팀에서 type/interface 사용 규칙은 어떻게 정하나요
아직 답을 쓰지 않았어요.
큐레이션 답변과 다른 사람 답변을 보고, 자기 언어로 답을 정리해보면 학습 효과가 가장 큽니다.
목차
  • 01면접관의 질문 의도
  • 02큐레이션 답변
  • 03좋은 답변 구조
  • 04자주 실수하는 포인트
  • 05실무 맥락
  • 06본인 경험에 녹이는 힌트
  • 07커뮤니티 인기 답변준비중
  • 08관련 꼬리 질문