프론트엔드 개발 · 기초
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란 무엇이며, JavaScript와 비교했을 때 어떤 주요 장점을 가지나요?
- TypeScript에서 변수에 타입을 명시하는 '타입 주석(Type Annotation)'은 무엇이며, 언제 주로 사용하나요?
- TypeScript의 기본 타입(Basic Types) 중 'string', 'number', 'boolean' 외에 'any'와 'unknown' 타입은 각각 어떤 용도로 사용되며, 둘의 차이점은 무엇인가요?
- 'type' 별칭(Type Alias)은 무엇이며, 'interface'와 비교했을 때 어떤 상황에서 'type' 별칭을 사용하는 것이 더 적합한가요?
- TypeScript에서 함수에 타입을 정의하는 방법은 무엇이며, 매개변수와 반환 값에 타입을 명시하는 이유를 설명해주세요.
- 'enum' 타입은 무엇이며, TypeScript에서 'enum'을 사용하는 주된 목적과 간단한 예시를 들어 설명해주세요.