반응형
JavaScript에서 객체 생성자는 클래스와 유사한 역할을 하는 특별한 함수입니다. 생성자는 특정 타입의 객체를 만들기 위한 틀로 사용되며, 그 타입의 인스턴스를 여러 개 만들 수 있습니다. 이를 통해 코드 재사용성을 높이고 중복을 줄일 수 있습니다.
객체 생성자 정의
객체 생성자는 일반 함수와 유사하게 정의됩니다만, 관례상 생성자 함수의 이름은 대문자로 시작합니다. 생성자 내에서 this 키워드는 새로 생성된 객체를 참조하며, 이 객체에 프로퍼티와 메서드를 추가할 수 있습니다.
function Person(firstName, lastName, age) {
this.firstName = firstName;
this.lastName = lastName;
this.age = age;
this.fullName = function() {
return this.firstName + ' ' + this.lastName;
};
}
객체 인스턴스 생성
new 키워드와 생성자 함수를 사용하면 해당 생성자의 타입을 가진 새로운 객체를 생성할 수 있습니다.
const john = new Person('John', 'Doe', 30);
console.log(john.fullName()); // "John Doe"
생성자 프로토타입 활용
생성자의 prototype 속성을 활용하면, 생성자에 의해 생성된 모든 인스턴스가 공유하는 메서드를 정의할 수 있습니다. 이를 통해 메모리를 효율적으로 사용할 수 있습니다.
Person.prototype.sayHello = function() {
return 'Hello, my name is ' + this.fullName();
};
console.log(john.sayHello()); // "Hello, my name is John Doe"
prototype을 사용하면 모든 인스턴스가 메서드를 공유하므로, 각 인스턴스마다 메서드를 복사할 필요가 없으므로 메모리를 절약할 수 있습니다.
이러한 객체 생성자와 프로토타입의 활용은 객체 지향 프로그래밍 패턴을 자바스크립트에서 구현하는 데 중요한 요소입니다.
반응형
'JavaScript' 카테고리의 다른 글
JavaScript 객체 접근자 (Object Accessors) (0) | 2023.08.24 |
---|---|
JavaScript Object 객체 메서드 (0) | 2023.08.24 |
JavaScript Display Objects (0) | 2023.08.24 |
JavaScript for...in 루프 (객체, 배열 사용) (0) | 2023.08.24 |
JavaScript 객체 속성 이해하기 (0) | 2023.08.24 |