[typescript] 인터페이스를 사용하여 클래스의 구현 강제하기
TypeScript를 사용하다 보면 클래스에서 특정 메서드나 속성을 필수로 구현하도록 강제하고 싶을 때가 있습니다. 이때 인터페이스(Interfaces) 를 사용하여 클래스의 구현을 강제할 수 있습니다.
인터페이스로 클래스의 구현 강제하기
인터페이스는 클래스나 객체가 가져야 하는 구조(메서드, 속성 등)를 정의할 수 있습니다. 예를 들어 다음과 같이 IAnimal
인터페이스를 정의할 수 있습니다.
interface IAnimal {
name: string;
makeSound(): void;
}
위의 인터페이스에서 name
속성과 makeSound
메서드를 가져야 한다고 정의했습니다.
이제 이 인터페이스를 구현하는 클래스는 반드시 해당 속성과 메서드를 구현해야 합니다.
class Dog implements IAnimal {
name: string;
constructor(name: string) {
this.name = name;
}
makeSound() {
console.log('멍멍');
}
}
위의 Dog
클래스는 IAnimal
인터페이스를 구현하도록 되어 있으므로, name
속성과 makeSound
메서드를 모두 구현해야 합니다.
인터페이스의 장점
인터페이스를 사용하면 코드의 가독성과 유지보수성을 높일 수 있습니다. 또한 여러 클래스가 동일한 인터페이스를 구현함으로써 코드의 재사용성을 높일 수 있습니다.
TypeScript에서 인터페이스를 활용하여 클래스의 구현을 강제함으로써 안정적이고 확장 가능한 코드를 작성할 수 있습니다.
마무리
인터페이스를 사용하여 클래스의 구현을 강제하는 것은 TypeScript 코드를 보다 안정적으로 만들어주는 중요한 기능입니다. 인터페이스를 적절히 활용하여 코드의 일관성과 안정성을 높이는데 도움이 됩니다.
참고 자료: TypeScript Handbook - Interfaces
위의 예시를 통해 보다 쉽게 이해할 수 있습니다.