[javascript] 객체 생성자 (constructor) 함수의 활용

자바스크립트에서 객체 생성자(constructor) 함수는 새로운 객체를 생성할 때 사용되며, 일반적으로 클래스와 유사한 역할을 합니다. 객체 생성자 함수를 사용하면 동일한 속성과 메서드를 가진 여러 객체를 간편하게 생성할 수 있습니다. 이 포스트에서는 객체 생성자 함수를 활용하는 방법에 대해 알아보겠습니다.

객체 생성자 함수 정의

객체 생성자 함수는 function 키워드와 함께 정의됩니다. 일반적으로 첫 글자가 대문자로 시작하여 다른 함수와 구별하도록 합니다. 예를 들면:

function Person(name, age) {
  this.name = name;
  this.age = age;
  this.greet = function() {
    return `Hello, my name is ${this.name} and I am ${this.age} years old.`;
  };
}

위의 예제에서 Person 함수는 nameage 속성을 가지는 객체를 생성합니다. greet 메서드는 해당 객체가 다른 객체들과 상호작용할 때 사용됩니다.

생성자 함수를 통한 객체 생성

객체 생성자 함수를 사용하여 객체를 생성할 때에는 new 키워드를 사용합니다. 예를 들면:

let person1 = new Person("John", 30);
let person2 = new Person("Jane", 25);

위의 예제에서 person1person2는 각각 Person 생성자 함수를 사용하여 생성된 객체입니다.

상속을 통한 프로토타입 공유

객체 생성자 함수를 사용하면 프로토타입 체인(prototype chain)을 활용하여 메서드를 공유할 수 있습니다. 예를 들면:

Person.prototype.introduce = function() {
  return `My name is ${this.name} and I am ${this.age} years old.`;
};

위의 예제에서 introduce 메서드는 Person 생성자 함수로 생성된 모든 객체에서 사용할 수 있습니다.

결론

객체 생성자 함수의 활용을 통해 유사한 속성과 메서드를 가진 객체를 쉽게 생성하고, 프로토타입을 공유하여 메모리를 효율적으로 활용할 수 있습니다.

참고 자료:

이상으로 객체 생성자 함수의 활용에 대한 내용을 살펴보았습니다. 아직 더 필요한 정보가 있다면, 추가적인 자료를 참고하시기 바랍니다.