[javascript] 상속 자식 객체의 동작 변경하기
JavaScript에서 객체지향 프로그래밍을 할 때, 상속을 사용하여 기존 객체의 특성을 유지하면서 새로운 동작을 추가하거나 변경할 수 있습니다. 이 글에서는 JavaScript에서 상속을 통해 자식 객체의 동작을 변경하는 방법을 살펴보겠습니다.
부모 객체 정의하기
먼저, 상속할 부모 객체를 정의합니다. 예를 들어, 아래와 같이 Animal
부모 객체를 정의할 수 있습니다.
class Animal {
constructor(name) {
this.name = name;
}
makeSound() {
return "Some sound";
}
}
위 코드에서 Animal
클래스는 name
속성과 makeSound
메서드를 가지고 있습니다.
자식 객체에서 부모 객체 상속받기
이어서, Animal
객체를 상속받아 새로운 동작을 추가하거나 변경할 자식 객체를 정의합니다. 아래는 Dog
자식 객체를 정의하는 예시입니다.
class Dog extends Animal {
constructor(name, breed) {
super(name);
this.breed = breed;
}
makeSound() {
return "Woof!";
}
wagTail() {
return `${this.name} is wagging its tail`;
}
}
Dog
클래스는 Animal
클래스를 상속받아 makeSound
메서드를 재정의하고, wagTail
메서드를 추가했습니다.
자식 객체의 동작 변경 확인하기
아래는 Dog
클래스를 사용하여 동작이 변경된 예시입니다.
const myDog = new Dog('Buddy', 'Golden Retriever');
console.log(myDog.makeSound()); // 출력: Woof!
console.log(myDog.wagTail()); // 출력: Buddy is wagging its tail
myDog
인스턴스를 생성하여 makeSound
와 wagTail
메서드를 호출하면, 각각 "Woof!"
와 "Buddy is wagging its tail"
이 출력됨을 확인할 수 있습니다.
JavaScript에서는 상속을 통해 부모 객체의 동작을 변경하거나 확장할 수 있어, 코드를 재사용하고 유지보수를 용이하게 할 수 있습니다.
위 예시를 통해 JavaScript에서 상속을 통해 자식 객체의 동작을 변경하는 방법에 대해 알아보았습니다. 부모 객체와 자식 객체 간의 관계를 활용하여 프로그램을 더 유연하게 설계할 수 있습니다.