자바스크립트 클래스에서 부모 클래스의 모든 속성을 상속하는 방법은 무엇인가요?
  1. 프로토타입 체인을 사용한 상속: 자바스크립트에서 클래스의 속성은 프로토타입 객체에 정의됩니다. 부모 클래스의 인스턴스를 상속받은 자식 클래스의 인스턴스는 부모 클래스의 프로토타입에 대한 체인을 따라 속성을 검색합니다. 따라서 부모 클래스의 모든 속성을 상속받을 수 있습니다.

    class Parent {
      constructor() {
        this.parentProperty = 'Parent Property';
      }
    
      parentMethod() {
        console.log('Parent Method');
      }
    }
    
    class Child extends Parent {
      constructor() {
        super();
      }
    
      childMethod() {
        console.log('Child Method');
      }
    }
    
    const child = new Child();
    console.log(child.parentProperty); // "Parent Property"
    child.parentMethod(); // "Parent Method"
    

    위의 예제에서, Child 클래스는 Parent 클래스를 상속받아 parentProperty 속성과 parentMethod 메서드를 사용할 수 있습니다.

  2. Object.assign을 사용한 상속: Object.assign 메서드를 사용하여 한 객체에서 다른 객체로 속성을 복사할 수 있습니다. 이를 활용하여 부모 클래스의 속성을 자식 클래스로 복사할 수 있습니다.

    class Parent {
      constructor() {
        this.parentProperty = 'Parent Property';
      }
    
      parentMethod() {
        console.log('Parent Method');
      }
    }
    
    class Child {
      constructor() {
        Object.assign(this, new Parent());
      }
    
      childMethod() {
        console.log('Child Method');
      }
    }
    
    const child = new Child();
    console.log(child.parentProperty); // "Parent Property"
    child.parentMethod(); // "Parent Method"
    

    위의 예제에서, Child 클래스는 Object.assign(this, new Parent())를 사용하여 Parent 클래스의 속성과 메서드를 복사합니다. 이로 인해 Child 클래스의 인스턴스는 부모 클래스의 속성과 메서드를 상속받게 됩니다.

상속은 자바스크립트의 객체지향 프로그래밍에서 중요한 개념이며, 다양한 패턴과 방법이 있습니다. 위의 예제는 그중 일부를 보여주는 것이므로, 더 자세한 내용을 학습하려면 자바스크립트의 상속에 대한 문서와 자료를 참고하는 것이 좋습니다.

#자바스크립트 #상속