생성자 함수를 이용한 자바스크립트 클래스와 인스턴스 생성 방법

자바스크립트에서 클래스와 인스턴스를 생성하는 방법 중 하나는 생성자 함수를 사용하는 것입니다. 생성자 함수를 사용하면 클래스의 인스턴스를 생성하고 초기화할 수 있습니다. 이번 글에서는 생성자 함수를 사용하여 자바스크립트 클래스와 인스턴스를 어떻게 만들 수 있는지 알아보겠습니다.

생성자 함수 작성하기

먼저, 생성자 함수를 작성해야 합니다. 생성자 함수는 일반적으로 클래스의 이름과 동일하게 작성되며, this 키워드를 사용하여 클래스의 속성을 초기화합니다. 예를 들어, Person 클래스를 생성하기 위한 생성자 함수는 다음과 같이 작성할 수 있습니다:

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

위의 코드에서 Person 생성자 함수는 nameage라는 두 개의 매개변수를 받습니다. 이 생성자 함수는 this.namethis.age 속성을 초기화하여 각각의 값을 할당합니다.

인스턴스 생성하기

인스턴스를 생성하기 위해서는 new 키워드를 사용하여 생성자 함수를 호출해야 합니다. 예를 들어, Person 클래스의 인스턴스를 생성하려면 다음과 같이 작성합니다:

const person1 = new Person("John Doe", 30);
const person2 = new Person("Jane Smith", 25);

위의 코드에서 person1person2Person 클래스의 인스턴스입니다. new 키워드를 사용하여 Person 생성자 함수를 호출하고, 매개변수로 이름과 나이를 전달합니다. 각각의 인스턴스는 nameage 속성을 가지게 됩니다.

인스턴스 속성에 접근하기

인스턴스가 생성되면 해당 인스턴스의 속성에 접근할 수 있습니다. 이를 통해 속성 값에 대한 수정이 가능합니다. 예를 들어, person1의 나이를 변경하고자 한다면 다음과 같이 작성할 수 있습니다:

person1.age = 35;

위의 코드에서 person1age 속성 값을 35로 변경하였습니다.

클래스 메서드 추가하기

생성자 함수를 통해 클래스에 속성을 추가할 수 있을 뿐 아니라, 메서드도 추가할 수 있습니다. 클래스 메서드는 생성자 함수 내부에서 this 키워드를 사용하여 정의할 수 있습니다. 예를 들어, Person 클래스에 introduce 메서드를 추가하려면 다음과 같이 작성할 수 있습니다:

function Person(name, age) {
  this.name = name;
  this.age = age;

  this.introduce = function() {
    console.log("My name is " + this.name + " and I am " + this.age + " years old.");
  };
}

위의 코드에서 introduce 메서드는 nameage 속성 값을 사용하여 인스턴스의 소개를 출력합니다. 이제 person1을 통해 introduce 메서드를 호출해봅시다:

person1.introduce();

출력 결과는 다음과 같습니다:

My name is John Doe and I am 35 years old.

핵심 해시태그

#JavaScript #생성자함수

이상으로 생성자 함수를 이용한 자바스크립트 클래스와 인스턴스 생성 방법에 대해 알아보았습니다. 생성자 함수를 사용하여 클래스의 속성과 메서드를 초기화하고 인스턴스를 생성할 수 있다는 것을 기억해주세요. 이를 통해 여러분은 객체지향 프로그래밍의 기본 개념을 자바스크립트에서 활용할 수 있습니다.