TypeScript
[TypeScript] 인터페이스
wwxs
2024. 8. 20. 12:28
인터페이스(interface)
- 객체 구조를 정의하는 타입스크립트의 정의
- 함수 타입 정의도 가능 → 객체가 어떤 프로퍼티와 메서드를 가져야 하는지 명시
- 컴파일 시점에 타입 체킹을 위해 사용되는 개념 → 다양한 구현체에 동일한 인터페이스를 적용해서 일관성과 재사용성 제공
인터페이스 구현 방법
- interface 키워드를 사용하여 명시(인터페이스명은 대문자로 시작)
더보기
interface IUser {
// 객체의 속성 타입을 명시
name?: string;
readonly age: number;
// 객체의 메서드 타입을 명시
// 메서드명(매개변수: 타입): 반환타입;
// >> 객체의 메서드(함수)의 경우 function 키워드 사용 x
greet(): void;
}
let userA: IUser = {
age: 50,
greet: () => {
console.log('반환값이 없는 메서드');
}
};
userA.greet();
클래스에서 인터페이스 구현
- implement 키워드를 사용하여 해당 타입을 가지는 클래스를 정의
class Student implements IUser{
name: string;
age: number;
constructor(name: string, age: number){
this.name = name;
this.age = age;
}
greet() {
console.log(`Hello, my name is ${this.name}`);
}
}
const student1 = new Student('황현지', 30);
const student2 = new Student('권세혁', 40);
student1.greet();
student2.greet();