[javascript] 프로토타입을 이용한 동적으로 객체 액세스 수정

자바스크립트에서 객체 프로토타입을 이용하여 동적으로 객체 액세스를 수정하는 방법입니다.

프로토타입

프로토타입은 모든 JavaScript 객체가 가지고 있는 속성으로, 상속을 위한 메커니즘입니다. 모든 JavaScript 객체는 다른 객체를 참조하는데, 이를 프로토타입이라고 합니다.

동적으로 객체 액세스 수정하기

아래는 프로토타입을 이용하여 동적으로 객체 액세스를 수정하는 예제입니다.

function Person(name) {
  this.name = name;
}

Person.prototype.greet = function() {
  return 'Hello, ' + this.name;
};

let john = new Person('John');
console.log(john.greet()); // 출력 결과: Hello, John

Person.prototype.greet = function() {
  return 'Hi, ' + this.name;
};

console.log(john.greet()); // 출력 결과: Hi, John

위 예제에서 Person이라는 생성자 함수를 정의하고, greet라는 메소드를 prototype을 이용하여 추가했습니다. 이후 john이라는 객체를 생성하고, greet 메소드를 호출하여 메시지를 출력했습니다. 그리고 나중에 greet 메소드를 다시 재정의하여 호출한 결과가 바뀌는 것을 확인할 수 있습니다.

결론

프로토타입을 이용하면 객체의 동작을 동적으로 변경할 수 있습니다. 이를 활용하여 객체 지향적인 프로그래밍을 할 때 유용하게 사용할 수 있습니다.

참고 문서: MDN web docs - 프로토타입