자바스크립트 생성자 함수와 프로토타입 체인을 이용한 메서드 전달
생성자 함수로 객체 생성하기
자바스크립트에서 객체를 생성하는 일반적인 방법 중 하나는 생성자 함수를 사용하는 것입니다. 생성자 함수는 객체를 초기화하고, 속성을 설정하고, 메서드를 정의할 수 있는 기능을 제공합니다.
예를 들어, Person
이라는 생성자 함수를 정의하고, name
과 age
라는 속성을 갖는 객체를 초기화해보겠습니다.
function Person(name, age) {
this.name = name;
this.age = age;
}
const person1 = new Person('John', 28);
console.log(person1.name); // John
console.log(person1.age); // 28
프로토타입 체인을 이용한 메서드 전달하기
위의 예제에서 Person
생성자 함수는 name
과 age
속성을 초기화하는 역할을 합니다. 이번에는 sayHello
라는 메서드를 생성자 함수에 추가하고, 이 메서드를 객체가 이용할 수 있도록 프로토타입 체인을 이용해 전달해보겠습니다.
function Person(name, age) {
this.name = name;
this.age = age;
}
Person.prototype.sayHello = function() {
console.log('Hello, my name is ' + this.name);
};
const person1 = new Person('John', 28);
person1.sayHello(); // Hello, my name is John
Person.prototype
을 사용하여 sayHello
메서드를 정의했습니다. 이제 person1
객체는 sayHello
메서드를 사용할 수 있습니다.
프로토타입 체인을 이용하면 생성자 함수로부터 생성된 모든 객체가 해당 메서드를 공유하게 됩니다. 이는 메모리를 절약하고 코드의 재사용성을 높일 수 있는 장점이 있습니다.
#javascript #prototypalinheritance