JavaScript class 선언 및 상속

Jiwontwopunch·2022년 6월 24일
0

독학

목록 보기
90/102
post-thumbnail

class 선언

class Vehicle{
  constructor(){
    console.log('initialize Vehicle');
  }
  
  run(){
    console.log('run!');
  }
  
  stop(){
    console.log('stop!');
  }
}
console.log(new Vehicle());

클래스를 선언하기 위해서는 클래스의 이름과 함께 class 키워드를 사용. 클래스를 정의하던 방식이 생성자 함수를 사용하는 방식에서 class 문법을 사용하는 방식으로 변경되었을 뿐 프로토타입의 기본적인 동적 원리는 큰 차이가 없다.

상속

class Vehicle{
  constructor(){
    console.log('initialize Vehicle');
  }
  
  run(){
    console.log('run!');
  }
  
  stop(){
    console.log('stop!');
  }
}

class Car extends Vehicle{
  constructor(type){
    super();
    this.type=type;
  }
}

console.log(new Car('SUV'));

extends 키워드 뒤에 상속받을 부모 클래스만 정의한 후, constructor() 생성자 메서드에서 super()를 호출. extends 키워드로 특정 클래스를 상속받는 경우에는 constructor() 생성자 메서드에서 반드시 this를 사용하기 전에 super()를 먼저 호출해야 한다.

0개의 댓글