[javascript] 상속과 메소드 오버라이딩

상속을 구현하는 방법 중 하나는 프로토타입 체인을 사용하는 것입니다. 프로토타입 체인을 통해 한 객체의 프로퍼티와 메소드를 다른 객체에서도 사용할 수 있습니다.

아래는 상속과 메소드 오버라이딩을 구현하는 간단한 예제입니다.

// 부모 클래스
function Animal(name) {
  this.name = name;
}

// 메소드 추가
Animal.prototype.introduce = function() {
  console.log("안녕하세요, 저는 " + this.name + "입니다.");
};

// 자식 클래스
function Dog(name, breed) {
  Animal.call(this, name); // 부모 클래스 생성자 호출
  this.breed = breed;
}

// 부모 클래스의 프로토타입을 상속
Dog.prototype = Object.create(Animal.prototype);

// 자식 클래스에서 부모 클래스 메소드 오버라이딩
Dog.prototype.introduce = function() {
  console.log("멍멍, 저는 " + this.name + "이고, 종은 " + this.breed + "입니다.");
};

// 인스턴스 생성
var myPet = new Dog("맥스", "골든 리트리버");
myPet.introduce(); // 출력: "멍멍, 저는 맥스이고, 종은 골든 리트리버입니다."

위 예제에서는 Animal 부모 클래스와 Dog 자식 클래스를 만들고 있습니다. Dog 클래스에서 introduce 메소드를 부모 클래스의 메소드와 동일한 이름으로 오버라이딩하고 있습니다.

이러한 상속과 메소드 오버라이딩을 통해 자바스크립트에서 객체 지향 프로그래밍을 유연하게 구현할 수 있습니다.

참고 자료: