자바스크립트 생성자와 new 키워드의 역할과 동작 방식

자바스크립트에서 생성자와 new 키워드는 객체 지향 프로그래밍에서 중요한 개념입니다. 생성자는 객체를 생성하기 위해 사용되며, new 키워드는 생성자 함수를 호출하여 객체를 생성하는 역할을 합니다.

생성자 함수

생성자 함수는 일반적으로 클래스로부터 객체를 생성하는 함수입니다. 생성자 함수의 이름은 관례적으로 대문자로 시작하여 구분합니다. 생성자 함수는 this 키워드를 사용하여 새로운 객체를 초기화하고 해당 객체의 속성과 메서드를 정의합니다.

아래는 Person 생성자 함수의 예시입니다.

function Person(name, age) {
  this.name = name;
  this.age = age;
  this.greet = function() {
    console.log("안녕하세요!");
  };
}

이 생성자 함수는 nameage라는 매개변수를 받아서 this.namethis.age라는 속성을 초기화하고, greet라는 메서드를 정의합니다. 이 생성자 함수를 통해 객체를 생성할 수 있습니다.

객체 생성하기

new 키워드를 사용하여 생성자 함수를 호출하면 새로운 객체가 생성됩니다. new 키워드로 생성된 객체는 생성자 함수의 this에 바인딩되어 동적으로 초기화됩니다.

아래는 Person 생성자 함수를 사용하여 john이라는 이름의 객체를 생성하는 예시입니다.

let john = new Person("John", 25);
john.greet(); // 출력: 안녕하세요!
console.log(john.name); // 출력: John
console.log(john.age); // 출력: 25

위의 예시에서 new Person("John", 25)라는 코드는 Person 생성자 함수를 호출하고, name 매개변수에 “John”을, age 매개변수에 25를 전달하여 객체를 생성합니다. 이렇게 생성된 john 객체는 greet 메서드를 호출하고, nameage 속성을 출력할 수 있습니다.

요약

자바스크립트의 생성자 함수와 new 키워드는 객체 지향 프로그래밍에서 객체를 생성하기 위한 중요한 개념입니다. 생성자 함수는 객체를 초기화하고 속성과 메서드를 정의하는 역할을 합니다. new 키워드를 사용하여 생성자 함수를 호출하면 새로운 객체가 생성되고, 생성자 함수가 this를 통해 객체를 초기화합니다. 이를 통해 객체를 생성하고 사용할 수 있습니다.

#JavaScript #생성자 #new