JavaScript에서는 객체 지향 프로그래밍을 할 때 프로토타입 기반 상속을 사용합니다. 프로토타입은 다른 객체에 공유되는 속성과 메서드를 정의하는 객체입니다. 이를 통해 객체 간에 상속을 구현할 수 있습니다.
프로토타입 객체를 생성하는 방법에는 몇 가지가 있습니다.
객체 리터럴을 사용한 프로토타입 객체 생성
가장 간단한 방법은 객체 리터럴을 사용하여 프로토타입 객체를 생성하는 것입니다. 객체 리터럴은 중괄호 {}
내에 속성과 메서드를 정의하는 방식입니다.
let prototypeObject = {
property1: value1,
property2: value2,
method1: function() {
// 메서드 동작
},
method2: function() {
// 메서드 동작
}
};
이렇게 생성된 prototypeObject는 다른 객체에서 상속받을 수 있는 프로토타입 객체가 됩니다.
생성자 함수를 사용한 프로토타입 객체 생성
두 번째 방법은 생성자 함수를 사용하여 프로토타입 객체를 생성하는 것입니다. 생성자 함수는 function
키워드를 사용하여 정의되며, new
키워드를 이용해 객체를 인스턴스화할 수 있습니다.
function PrototypeObject(property1, property2) {
this.property1 = property1;
this.property2 = property2;
}
PrototypeObject.prototype.method1 = function() {
// 메서드 동작
};
PrototypeObject.prototype.method2 = function() {
// 메서드 동작
};
이렇게 생성된 PrototypeObject 함수는 프로토타입 객체를 생성하는 역할을 합니다. 프로토타입 객체의 메서드는 PrototypeObject.prototype
을 통해 정의되며, 이를 상속받은 객체에서 사용할 수 있습니다.
Object.create()를 사용한 프로토타입 객체 생성
세 번째 방법은 Object.create()
메서드를 사용하여 프로토타입 객체를 생성하는 것입니다. Object.create()
는 주어진 객체를 프로토타입으로 갖는 새로운 객체를 생성합니다.
let prototypeObject = {
property1: value1,
property2: value2,
method1: function() {
// 메서드 동작
},
method2: function() {
// 메서드 동작
}
};
let newObject = Object.create(prototypeObject);
Object.create()
를 사용하면 기존 객체를 프로토타입으로 사용하는 새로운 객체를 생성할 수 있습니다.
이런 방법으로 프로토타입 객체를 생성할 수 있습니다. 프로토타입 객체는 객체 지향 프로그래밍에서 상속과 같은 중요한 개념을 구현하는 데 사용되므로 잘 이해하고 활용하는 것이 중요합니다.
참고 자료: