[typescript] 인터페이스로부터 어떤 규약을 상속받는가?
인터페이스 상속
인터페이스는 확장(extends)을 통해 다른 인터페이스로부터 속성을 상속받을 수 있습니다. 이를 통해 코드의 재사용성을 높일 수 있습니다.
예를 들어, Shape
인터페이스에 color
속성을 추가하는 ColoredShape
인터페이스를 만들어 보겠습니다.
interface Shape {
name: string;
}
interface ColoredShape extends Shape {
color: string;
}
위 예제에서 ColoredShape
인터페이스는 Shape
의 구조를 상속받기 때문에, ColoredShape
를 구현하는 클래스는 name
속성과 color
속성을 모두 가져야 합니다.
예제 코드
다음은 인터페이스를 상속받는 클래스의 예제 코드입니다.
class Circle implements ColoredShape {
name: string;
color: string;
constructor(name: string, color: string) {
this.name = name;
this.color = color;
}
}
위 코드에서 Circle
클래스는 name
과 color
속성을 가져야 합니다.
인터페이스 상속을 통해 코드를 보다 모듈화하고 유지보수에 용이하도록 만들 수 있습니다.
결론
TypeScript에서는 인터페이스를 통해 다른 인터페이스로부터 속성을 상속받을 수 있습니다. 이를 통해 객체의 구조와 타입을 보다 효과적으로 정의할 수 있습니다.
많은 사용자들이 extend
키워드에 대해 의문을 품고 있으며, 실수를 겪고 있다. (TypeScript는 왜 “implements” 대신 “extend”를 사용하지 않나요?)
많은 사용자들은 TypeScript 홈페이지와 MDN 웹 문서를 참고했다.