[javascript] 프로토타입 속성 접근하기

JavaScript에서는 프로토타입 상속을 통해 객체 간에 속성을 공유할 수 있습니다. 프로토타입 속성에 접근하고 수정하는 방법에 대해 살펴보겠습니다.

프로토타입 속성에 접근하기

객체의 프로토타입에 정의된 속성에 접근하려면 prototype 속성을 사용합니다. 예를 들어, 다음과 같이 Car라는 생성자 함수를 정의하고 해당 함수의 프로토타입에 start 메소드를 추가하는 경우를 살펴봅시다.

function Car(make, model, year) {
  this.make = make;
  this.model = model;
  this.year = year;
}

Car.prototype.start = function() {
  return `${this.make} ${this.model} started`;
};

let myCar = new Car('Tesla', 'Model 3', 2022);
console.log(myCar.start()); // Tesla Model 3 started

위 예제에서 start 메소드는 Car의 프로토타입에 추가되었습니다. 따라서 myCar 객체에서 start 메소드를 호출할 수 있습니다.

프로토타입 체인

JavaScript에서 객체는 다른 객체로부터 상속을 받을 수 있습니다. 이러한 상속 관계를 프로토타입 체인이라고 합니다. 만약 객체에서 특정 속성 또는 메소드를 찾을 수 없는 경우, JavaScript는 이를 해당 객체의 프로토탸 타입을 따라 올라가며 찾습니다.

console.log(myCar.hasOwnProperty('make')); // true
console.log(myCar.hasOwnProperty('start')); // false

위 예제에서 hasOwnProperty 메소드는 myCar 객체 자체에 정의된 속성을 확인하며 객체의 프로토타입 체인 상에 있는 속성은 확인하지 않습니다.

프로토타입 속성에 액세스하고 수정함으로써 JavaScript의 객체지향 프로그래밍 기능을 더 잘 활용할 수 있습니다.

결론

프로토타입 속성을 사용하여 JavaScript에서 객체 간에 속성을 공유하고 상속을 구현할 수 있습니다. 객체의 프로토타입에 접근하고 수정하는 과정을 통해 객체지향 프로그래밍의 장점을 최대한 활용할 수 있습니다.

참고 문헌: