728x90
반응형
오버라이딩
- 상속 관계에 있는 부모 클래스에서 이미 정의된 메소드를 자식 클래스에서 같은 시그니쳐를 갖는 메소드로 다시 정의하는 것
타입스크립트에서는 상속 받은 클래스에서 부모 클래스의 메소드를 다시 구현할 수 있다. 이를 메소드 오버라이딩(method overriding)이라고 한다. 메소드 오버라이딩을 사용하면 부모 클래스의 메소드와 같은 이름을 가진 메소드를 자식 클래스에서 다시 구현할 수 있다.
아래 코드를 보자.
class Animal {
makeSound() {
console.log("동물이 소리를 냅니다.");
}
}
class Dog extends Animal {
makeSound() {
console.log("멍멍");
}
}
const animal = new Animal();
const dog = new Dog();
animal.makeSound(); // "동물이 소리를 냅니다."
dog.makeSound(); // "멍멍"
위 예제에서 Animal 클래스에는 makeSound 메소드가 정의되어 있다. 그리고 Dog 클래스에서 Animal 클래스를 상속받아 makeSound 메소드를 오버라이딩한다.
Dog 클래스의 인스턴스에서 makeSound 메소드를 호출하면 "멍멍"이라는 문자열이 출력된다.
728x90
반응형
'Language > TypeScript' 카테고리의 다른 글
[TypeScript] async, await, promise 비동기 처리 (0) | 2023.03.11 |
---|---|
[TypeScript] 추상 클래스 abstract class, 생성자 constructor (0) | 2023.03.11 |
[TypeScript] index.d ts 파일이란? (0) | 2023.03.06 |
[TypeScript] Map 객체, TypeScript , JavaScript Map (0) | 2023.03.06 |