JavaScript 강의

5-3 상속

kagan-draca 2024. 8. 18. 19:33

상속 : 부모 Class로 부터 자식 Class에게 주요 기능과 정보를 내려준다.

           자식 Class는 부모 메서드를 재정의 가능하고,

           새로운 인스턴스와 메서드 만들 수 있다.

 

상속 방법

 

class가 존재할 때,

class 자식 extends 부모

{

}

로 부모로부터 상속 받은 자식 Class를 생성할 수 있다.

 

자식 메서드와 Overriding(중요)

 

class 자식 extends 부모

{

    constructor(매개변수,....)

    {

        super(부모에게 보낼 매개변수)

        this.인스턴스 = 매개변수

    }

 

    부모의 메서드 명과 동일한 메서드 명()

    {

        //메서드 안에서

        //새롭게 재정의할 내용

    }

}

 

(부모 speak 함수는 "시로 say!"가 출력 된다.)

 


부모에서 정의한 메서드 로직을

자식 메서드에서 새로운 로직으로

재정의할 수 있다.

 

Constructor(생성자)와 Super()

 

class 자식 extends 부모

{

    constructor(매개변수,....)

    {

        super(부모에게 보낼 매개변수)

        // 부모의 생성자

        this.인스턴스 = 매개변수

    }

}

super(매개변수)로 부모의 생성자를 호출해

부모의 인스턴스를 초기화 할 수 있다.

 

자식 메서드에서 부모 메서드 호출

(Super.부모 메서드 이름())

 

class 자식 extends 부모

{

    constructor(매개변수,....)

    {

        super(부모에게 보낼 매개변수)

        this.인스턴스 = 매개변수

    }

    자식 메서드()

    {

        super.부모 메서드()

    }

}

 

super.부모 메서드로 부모 메서드의 내용이 출력 되는걸 볼 수 있다.

(super.부모 메서드는 자식 메서드의 어디에서도 사용 가능하다)

(단, #(private) 메서드는 super.메서드로 접근 불가능)

 

 

'JavaScript 강의' 카테고리의 다른 글

5-5 클로저  (0) 2024.08.18
5-4 Static(정적) Method(메서드)  (0) 2024.08.18
5-2 Class  (0) 2024.08.18
5-1 DOM  (0) 2024.08.18
4-1 콜백 함수의 기본 개념  (0) 2024.08.14