TypeScript의 OOP 클래스를 위한 인터페이스
TypeScript의 인터페이스는 클래스에 대한 템플릿으로도 널리 사용됩니다.
클래스에 필요한 인터페이스를 적용하려면 클래스 이름 뒤에
키워드 implements를 쓰고 그 뒤에 인터페이스 이름을 적습니다.
이때 인터페이스는 클래스의 공개 속성과 메서드만을 설명합니다. 비공개 부분은 클래스 자체에서 정의되며 인터페이스에는 설명되지 않습니다.
실제로 해봅시다. 다음과 같은 속성과 메서드를 정의하는 인터페이스가 있다고 가정해 보겠습니다:
interface IUser {
name: string;
greet(): string;
}
이 인터페이스를 구현하는 클래스를 만들어 보겠습니다.
이 클래스에는 name 속성과 greet 메서드가 구현되어 있어야 합니다:
class User implements IUser {
name: string;
constructor(name: string) {
this.name = name;
}
greet() {
return `hello, ${this.name}!`;
}
}
num1 및 num2 속성과
첫 번째 숫자를 두 번째 숫자로 나누는 getDiv 메서드를 가진
인터페이스 IMath를 생성하세요.
인터페이스 IMath를 구현하는
클래스 Math를 만드세요.