포시코딩

자식 Class 생성자에서의 super() 본문

JavaScript

자식 Class 생성자에서의 super()

포시 2022. 12. 12. 16:11
728x90

사용예제

class User { // User 부모 클래스
  constructor(name, age, tech) { // 부모 클래스 생성자
    this.name = name;
    this.age = age;
    this.tech = tech;
  }
  getTech(){ return this.tech; } // 부모 클래스 getTech 메서드
}

class Employee extends User{ // Employee 자식 클래스
  constructor(name, age, tech) { // 자식 클래스 생성자
    super(name, age, tech);
  }
}

const employee = new Employee("조성훈", "29", "Node.js");
console.log(employee.name); // 조성훈
console.log(employee.age); // 29
console.log(employee.getTech()); // 부모 클래스의 getTech 메서드 호출: Node.js

상속받은 클래스는 생성자에서 super()를 통해 부모의 생성자를 호출하여 

값들을 각각의 멤버 변수에 할당하게 된다.

 

super 키워드란?

super 키워드는 함수처럼 호출할 수도 있고, this와 같이 식별자처럼 참조할 수도 있는 키워드이다.

  • super 키워드를 호출하면 부모 클래스의 생성자(constructor)를 호출한다.
  • super 키워드를 참조하면 부모 클래스의 메서드(Method)를 호출할 수 있다.
728x90