프로토타입 기반의 상속 방법은 객체를 복제하는 것을 기반으로 합니다. 자식 객체가 부모 객체의 모든 속성과 메서드를 복제하고 이를 자식 객체의 프로토타입으로 지정함으로써 상속을 구현합니다. 아래 예제는 Animal 객체를 생성하고, 이를 상속하여 Dog 객체를 생성하는 예제입니다.
// Animal 객체 생성
var Animal = {
name: '',
setName: function(name) {
this.name = name;
},
speak: function() {
console.log(this.name + ' makes a noise.');
}
};
// Dog 객체 생성 및 상속
var Dog = Object.create(Animal); // Animal 객체를 복제하여 프로토타입으로 지정
Dog.bark = function() {
console.log(this.name + ' barks.');
};
// 객체 생성 및 사용
var myDog = Object.create(Dog);
myDog.setName('Rex');
myDog.bark(); // "Rex barks."
myDog.speak(); // "Rex makes a noise."
위 예제에서 Animal 객체는 이름(name)과 speak() 메서드를 갖고 있습니다. Dog 객체는 Animal 객체를 복제하여 프로토타입으로 지정하고, bark() 메서드를 추가로 정의합니다. myDog 객체를 생성할 때 Object.create() 메서드를 사용하여 Dog 객체를 복제합니다. 이로써 myDog 객체는 Dog 객체의 속성과 메서드를 모두 상속받게 됩니다. myDog.setName('Rex') 코드를 실행하여 myDog 객체의 이름을 설정합니다. 그리고 myDog.bark() 코드를 실행하여 Dog 객체에서 추가로 정의한 bark() 메서드를 실행합니다. 마지막으로 myDog.speak() 코드를 실행하여 Animal 객체에서 상속받은 speak() 메서드를 실행합니다.
'FrontEND > JavaScript' 카테고리의 다른 글
getElementById,onclick 함수 사용법 (0) | 2024.01.23 |
---|---|
class 문법을 사용하면 상속 관계 (0) | 2023.04.16 |
public, private, get,set (0) | 2023.04.16 |
프로토타입 (0) | 2023.04.16 |
pixabay API (0) | 2023.04.13 |