상속이란,
부모 생성자의 기능을 물려받으면서 새로운 기능도 추가하는 것을 말한다.
1) 상속 선언
상속선언은 다음과 같다.
우선 부모클래스를 만들고,

하위 클래스를 만들어준다.

하위 클래스 명 뒤에 extends가 붙어있는 모습을 볼 수 있는데
이 extends가 바로 부모를 상속하게끔 만들어 주는거다.
순서를 헷갈리면 안된다.
순서는
class 자식 클래스 extends 부모 클래스{ }
이다.
변수를 선언하고 잘 상속되었는지 확인해보면
부모 클래스 안에 있던 변수와 함수가 나타나는 모습을 볼 수 있다.
2) 오버라이딩
오버라이딩은 부모가 가진 함수를 자식이 재선언 하는 것이다.

이 코드를 보면 Animal 클래스를 상속받는 Dog 클래스에서
단순히 부모생성자를 호출하는 기능을 가진 sound함수만을 가지고 있다.
출려해보면

라는 부모 클래스의 결과만이 나오는 모습을 확인할 수 있다.
만일 내가 Dog클래스에선 'Mung'이라는 글자가 나오게끔 만들고 싶다!
그럴 때 사용하는 것이 오버 라이딩이다.

sound함수 안에 'Mung'이라는 글자가 나오게끔
소스 코드를 변경시켰다.
원래라면 상식적으로 이 코드는 오류가 나야한다.
하지만, 실행시켜보면

이렇게 오류가 나지 않고,
잘 동작하는 모습을 볼 수 있다.
이렇게, 부모클래스에서 선언해둔 함수를
자식 클래스에서 재선언 하는 것을
오버 라이딩이라고 한다.
+++++
클래스를 너무 많이 상속한 경우
이 특정 자식 클래스에서 만든 객체가
특정 부모클래스를 상속받고 있는 것인지 헷갈릴 떄가 있다.
그 때는
instanceof를 사용해보자.
다음과 같이 사용된다.

그러면 이렇게

참/거짓으로 값을 알려준다.
'JavaScript' 카테고리의 다른 글
| TypeScript 사용해보기 (0) | 2022.04.20 |
|---|---|
| 06. 내장 객체 (0) | 2022.02.18 |
| 04. 객체(오브젝트)와 클래스 (0) | 2022.02.16 |
| 로또 만들기 (0) | 2022.02.15 |
| 03. 함수와 배열 (0) | 2022.02.11 |
