반응형
interface는 object 타입을 지정할 때 사용하는 키워드이다.
하지만 용도가 하나 더 있는데, class 타입을 확인하고 싶은 경우에도 interface 문법을 사용한다.
이때 추가로 필요한 게 implements 키워드이다.
interface & implements
class Car {
model :string;
price :number = 10000;
constructor(a :string) {
this.model = a;
}
}
let myCar = new Car("morning");
class Car를 통해 생성되는 object들은 model과 price 속성을 가지고 있다.
근데, class가 model과 price 속성을 가지고 있는지 타입으로 확인하고 싶은 경우에 interface와 implements를 사용한다.
interface CarType {
model :string;
price :number;
}
class Car implements CarType {
model :string;
price :number = 10000;
constructor(a :string) {
this.model = a;
}
}
let myCar = new Car("morning");
class 우측에 implements를 사용하고 interface를 쓰면
" class가 interface에 있는 속성을 다 들고 있는가? "라는 확인이 가능하다.
가지고 있다면 별말하지 않고, 빠진 속성이 있다면 에러를 통해서 알려준다.
이때 implements는 타입 지정 문법이 아니다.
implements는 interface에 들어있는 속성을 가지고 있는지만 확인하는 뜻이고 class에다가 타입을 할당한다던지
변형시키는 키워드가 아니다.
반응형
'TypeScript > 기초' 카테고리의 다른 글
[TypeScript] object index signatures (0) | 2022.09.08 |
---|---|
[TypeScript] d.ts (2) | 2022.07.12 |
[TypeScript] Declare & Ambient Module (1) | 2022.07.11 |
[TypeScript] Tuple Type (2) | 2022.07.10 |
[TypeScript] React에서 사용하기_2편 (1) | 2022.07.10 |