타입스크립트 클래스 상속 예제
타입스크립트( Typescript )의 클래스 상속은
클래스가 가진 속성과 메서드를 다른 클래스가 물려받아 재사용하는 것을 뜻한다.
상속받는 자식 클래스는 extends 키워드를 사용해 부모 클래스를 지정하며,
부모 클래스의 public 및 protected 멤버를 사용할 수 있다.
자식 클래스에서는 부모 클래스의 기능을 그대로 사용할 수 있고, 새로운 속성과 메서드를 추가할 수 있다.
필요한 경우, 기존 메서드를 같은 이름으로 다시 정의하는 오버라이딩도 가능하다.
생성자를 사용하는 경우에는 super를 통해 부모 클래스의 생성자를 호출할 수 있다.
클래스 상속은
여러 클래스에서 공통으로 사용하는 기능을 부모 클래스에 정의하고,
각각의 자식 클래스에는 개별적인 기능만 추가하는 방식으로 코드 중복을 줄이고 구조를 체계적으로 관리하는 데 사용한다.
⊙
class Animal {
name: string;
constructor(name: string) {
this.name = name;
}
move(): void {
console.log(`${this.name}이(가) 움직입니다.`);
}
}
class Dog extends Animal {
bark(): void {
console.log("멍멍!");
}
}
const dog = new Dog("초코");
dog.move();
dog.bark();⊙
class 자식클래스 extends 부모클래스 {
}
class Animal {
move(): void {
console.log("움직입니다.");
}
}
class Dog extends Animal {
bark(): void {
console.log("멍멍!");
}
}
const dog = new Dog();
dog.move();
dog.bark();⊙
class Animal {
name: string;
constructor(name: string) {
this.name = name;
}
}
class Dog extends Animal {
age: number;
constructor(name: string, age: number) {
super(name);
this.age = age;
}
}
const dog = new Dog("초코", 3);
console.log(dog.name);
console.log(dog.age);⊙
class Animal {
speak(): void {
console.log("동물이 소리를 냅니다.");
}
}
class Dog extends Animal {
speak(): void {
console.log("멍멍!");
}
}
const dog = new Dog();
dog.speak();⊙
class Animal {
speak(): void {
console.log("동물이 소리를 냅니다.");
}
}
class Dog extends Animal {
speak(): void {
super.speak();
console.log("멍멍!");
}
}
댓글
댓글 쓰기