Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript의 기본 생성자(Default Constructor)란 무엇일까?

JavaScript에서 클래스에 생성자(constructor) 메서드를 명시적으로 작성하지 않으면, 자바스크립트 엔진이 자동으로 기본 생성자(default constructor)를 제공합니다. 즉, 개발자가 아무런 생성자도 정의하지 않은 경우에 기본 생성자가 만들어지며, 이를 통해 객체가 문제없이 인스턴스화될 수 있습니다.

기본 생성자의 문법

기본 생성자는 다음과 같은 형태로 정의됩니다.

constructor() {}

파생 클래스(자식 클래스)의 경우

반면, 다른 클래스를 상속받는 파생 클래스(derived class)에서는 부모 클래스의 생성자를 반드시 호출해야 하므로, 기본 생성자는 아래와 같은 형태로 동작합니다.

constructor(...args) {
   super(...args);
}

이처럼 파생 클래스의 기본 생성자는 전달된 모든 인수(...args)를 그대로 부모 클래스의 생성자인 super()에 넘겨주는 역할을 합니다. 따라서 상속 구조에서는 부모 클래스의 초기화 로직이 자동으로 실행되도록 보장됩니다.

정리

  • 생성자를 직접 작성하지 않으면 JavaScript가 자동으로 기본 생성자를 추가합니다.
  • 일반 클래스의 기본 생성자는 빈 함수 형태인 constructor() {}입니다.
  • 파생 클래스의 기본 생성자는 받은 인수를 super(...args)로 전달하여 부모 클래스의 생성자를 호출합니다.