인터페이스(interface) 란?

타입스크립트에서 객체 타입을 정의할 때 사용하는 문법입니다.

인터페이스를 사용하여 객체의 속성과 들어갈 데이터 타입을 정확하게 정의할 수 있습니다.

인터페이스로 타입을 정의할 수 있는 부분

인터페이스 사용 방법

interface Profile {
 name: string,
 age: number,
 address: string,
}

let jon: Profile = {
  name: "jon",
  age: 20,
  address: "seoul",
}

// 에러 발생: age의 타입이 interface에 선언한 타입과 불일치
let mike: Profile = {
  name: "mike",
  age: "20",
  address: "Busan"
}

// 에러 발생: address가 존재하지 않음 interface의 객체 속성과 불일치
let jane: Profile = {
  name: "jane",
  age: 20
}

// 에러 발생: interface에 존재하지 않는 객체 속성 hobby가 추가됨
let bob: Profile = {
  name: "bob",
  age: 20,
  hobby: "shopping"
}