Javascript

Javascript class 사용해 객체 생성하고 상속받기

Starters 2020. 8. 23. 15:10
class Animal {
  constructor(type, name, sound) {
    this.type = type;
    this.name = name;
    this.sound = sound;
  }
  // 클래스 내부에 함수 만들면
  // 자동으로 프로토타입으로 만들어진다.
  say(){
    console.log(this.sound);
  }
}

class Dog extends Animal {
  constructor(name, sound) {
    // 자신이 상속받은 class의 constructor를 호출
    super('개', name, sound);
  }
}


class Cat extends Animal {
  constructor(name, sound) {
    super('고양이', name, sound);
  }
}

const dog = new Dog('멍멍이', '멍멍');
const cat = new Cat('야옹이', '야옹');
const cat2 = new Cat('야오오오옹이', '야오오오옹');

dog.say();
cat.say();
cat2.say();

 

이전에 객체생성자로 했던 작업을 ES6의 class를 사용해 만드는 방법이다.