JavaScript OOP 상속에서 생성자

상속 시 부모의 생성자를 재정의할 수 있습니다. 예제를 통해 살펴보겠습니다. 다음과 같은 부모 클래스가 있다고 가정해 봅시다:

javascriptclass User {
  constructor(name, surn) {
    this.name = name;
    this.surn = surn;
  }
  
  getName() {
    return this.name;
  }
  getSurn() {
    return this.surn;
  }
}

부모 클래스를 다음과 같이 상속하는 클래스가 있다고 합시다:

javascriptclass Student extends User {
  
}

자식 클래스에서 추가 매개변수를 넣어 생성자를 확장하고 싶다고 가정해 봅시다:

javascriptclass Student extends User {
  constructor(name, surn, year) {
    
  }
}

이 경우 반드시 첫 번째 줄에서 super를 통해 부모 생성자를 호출해야 합니다:

javascriptclass Student extends User {
  constructor(name, surn, year) {
    super();
  }
}

super 명령은 본질적으로 부모의 생성자입니다. 따라서 필요한 매개변수를 전달해 봅시다:

javascriptclass Student extends User {
  constructor(name, surn, year) {
    super(name, surn);
  }
}

이제 자식 클래스에서 입학 연도를 자식 클래스의 고유 속성에 기록해 봅시다:

javascriptclass Student extends User {
  constructor(name, surn, year) {
    super(name, surn);
    this.year = year;
  }
}

입학 연도를 위한 게터를 만들어 봅시다:

javascriptclass Student extends User {
  constructor(name, surn, year) {
    super(name, surn);
    this.year = year;
  }
  
  getYear() {
    return this.year;
  }
}
Задание 1

Employee 클래스가 이 수업의 User 클래스를 상속한다고 가정해 봅시다.

Задание 2

Employee 클래스에서 부모 생성자를 재정의하여 나이와 급여 매개변수를 추가해 보세요.

Задание 3

나이와 급여를 위한 게터를 만드세요.