[javascript] 프로토타입을 이용한 동적 메소드 추가

자바스크립트에서는 프로토타입(prototype)을 사용하여 객체에 동적으로 메소드를 추가할 수 있습니다. 이를 통해 모든 객체가 해당 메소드를 공유하여 사용할 수 있습니다. 이번 포스트에서는 프로토타입을 이용한 동적 메소드 추가에 대해 알아보겠습니다.

프로토타입

프로토타입은 자바스크립트에서 객체 지향 프로그래밍을 지원하는 중요한 개념입니다. 모든 객체는 해당 객체의 프로토타입을 공유하며, 프로토타입 체인을 통해 다른 객체의 프로퍼티와 메소드에 접근할 수 있습니다.

동적 메소드 추가

프로토타입을 사용하면 객체의 메소드를 동적으로 추가할 수 있습니다. 다음은 예시 코드입니다.

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

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

let person1 = new Person("Alice");
let person2 = new Person("Bob");

console.log(person1.greet()); // "Hello, my name is Alice"
console.log(person2.greet()); // "Hello, my name is Bob"

위 코드에서 Person 함수의 프로토타입에 greet 메소드를 추가했습니다. 이로써 모든 Person 객체는 greet 메소드를 공유하여 사용할 수 있게 되었습니다.

결론

프로토타입을 이용하여 동적으로 메소드를 추가할 수 있기 때문에, 자바스크립트에서 객체 지향 프로그래밍을 보다 유연하게 활용할 수 있습니다. 프로토타입을 활용한 동적 메소드 추가는 객체 지향 프로그래밍의 장점을 더욱 효과적으로 활용할 수 있는 방법 중 하나입니다.

위 내용으로 프로토타입을 이용한 동적 메소드 추가에 대해 간략히 살펴보았습니다. 프로토타입을 이용한 객체 지향 프로그래밍을 하는데 있어 유용한 기능 중 하나이므로, 자바스크립트 개발에 있어서 이를 효과적으로 활용할 수 있도록 공부해보시기를 추천합니다.