Extends는 어떠한 class를 상속받고 싶을 때 하위 class에서
extends
를 사용하여 상속받을 수 있습니다.
interface Student {
name: string;
grade: number;
}
interface studentInfo extends Student {
age: number;
address: string;
}
studentInfo
class에는 Student
에서 정의된 name
, grade
를 포함하여 age
와 address
도 기입해야지 error가 발생하지 않습니다.
또한 extends는 하나가 아닌 여러 개를 이용하여 확장할 수 있습니다. Car
와 Toy
라는 class가 있고 2개의 class를 extends 하기 위해서는 interface ToyCar extends Car, Toy
처럼 쉼표로 구분하여 작성하면 됩니다.
Implements는 class의 interface에 만족하는지 확인하기 위해 사용하는 키워드입니다.
interface Student {
name: string;
grade: number;
}
class student implements Student {
name = 'kim',
grade = 1
}
student class에서 name
나 grade
가 정의되지 않았다면 error가 발생합니다. 이처럼 implements
키워드는 새로운 클래스를 생성할 때 interface에서 정의한 값들이 모두 들어가 있는지 체크합니다.