패스잇
프론트엔드 개발 · 기초

TypeScript의 'interface'는 무엇이며, 객체의 형태를 정의할 때 어떻게 활용할 수 있는지 간단한 예시와 함께 설명해주세요.

힌트 · 객체가 가져야 할 속성과 메서드의 형태를 정의하는 데 사용되며, 코드의 일관성과 재사용성을 높입니다.

타입 정의구조 명세계약(Contract)Duck Typing선언 합침(Declaration Merging)

모범답안

TypeScript에서 'interface'는 객체의 '모양'을 정의하는 역할을 합니다. 어떤 객체가 특정 속성과 메서드를 가져야 하는지 미리 약속하는 일종의 '계약'이라고 생각하시면 됩니다.

예를 들어, name 속성과 greet 메서드를 가진 Person 인터페이스를 정의할 수 있습니다.

interface Person {
  name: string;
  greet(message: string): void;
}

이렇게 정의하면, Person 인터페이스를 따르는 객체는 반드시 name 속성(문자열)과 greet 메서드(문자열 인자를 받고 반환값이 없는 함수)를 가져야 합니다. 이를 통해 코드의 안정성을 높이고, 개발자가 실수를 줄이도록 도와줍니다. 또한, 인터페이스는 코드의 재사용성을 높이는 데에도 기여합니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 TypeScript 면접 질문

← TypeScript 면접 질문 전체 보기