[typescript] 상속과 구현을 사용하여 어떤 코드의 재사용성을 높일 수 있는가?
TypeScript에서 상속과 구현을 사용하여 코드의 재사용성을 높일 수 있습니다. 상속은 클래스 간의 관계를 설정하여 부모 클래스의 기능을 자식 클래스에서 사용할 수 있게 합니다. 반면에, 구현은 인터페이스를 적용하여 클래스에서 특정 메서드나 속성을 구현할 수 있도록 합니다.
상속을 사용한 코드 재사용성
클래스 간의 상속을 사용하면 부모 클래스의 속성과 메서드를 자식 클래스에서 재사용할 수 있습니다. 예를 들어, 동물 클래스가 있고, 고양이 클래스와 개 클래스가 동물 클래스를 상속한다면, 고양이나 개 클래스에서 동물 클래스의 특징을 그대로 사용할 수 있습니다.
class Animal {
eat() {
console.log("음식을 먹습니다");
}
}
class Cat extends Animal {
meow() {
console.log("야옹");
}
}
class Dog extends Animal {
bark() {
console.log("멍멍");
}
}
const cat = new Cat();
cat.eat(); // "음식을 먹습니다"
cat.meow(); // "야옹"
const dog = new Dog();
dog.eat(); // "음식을 먹습니다"
dog.bark(); // "멍멍"
구현을 사용한 코드 재사용성
인터페이스 구현을 통해 클래스에서 특정 메서드나 속성을 강제할 수 있습니다. 예를 들어, 탈것 인터페이스가 있고, 자전거 클래스와 자동차 클래스가 탈것 인터페이스를 구현한다면, 각 클래스에서 인터페이스에 명시된 메서드를 구현해야 합니다.
interface Vehicle {
move(): void;
}
class Bicycle implements Vehicle {
move() {
console.log("페달을 밟고 이동합니다");
}
}
class Car implements Vehicle {
move() {
console.log("엔진을 가동하고 이동합니다");
}
}
const bicycle = new Bicycle();
bicycle.move(); // "페달을 밟고 이동합니다"
const car = new Car();
car.move(); // "엔진을 가동하고 이동합니다"
상속과 구현을 통해 TypeScript에서 코드의 재사용성을 높일 수 있습니다. 상황에 맞게 적절히 사용하여 코드를 보다 모듈화하고 유지보수성을 높일 수 있습니다.
이상으로 TypeScript에서 상속과 구현을 사용하여 코드의 재사용성을 높이는 방법에 대해 알아보았습니다.
참고 자료
- TypeScript 공식 문서: Inheritance
- TypeScript 공식 문서: Interfaces