상속

Taehye.on·2023년 3월 16일
0

코드스테이츠 44기

목록 보기
33/89
post-thumbnail

🔍 상속

상속은 두가지 방법이 존재한다.
바로 extendssuper()가 있다.

📌 extends

extends를 알기 전에 class의 개념을 알아야 한다.

먼저 extends란 클래스의 자식 클래스를 생성할 때 사용한다.

//부모 클래스 생성
class 부모{
}
//부모 클래스 상속
class 자식 extends 부모{
}

📌 super()

super()는 두가지 의미로 해석된다.
1. 자식 클래스 내에서 부모 클래스의 생성자 역할을 한다.
2. 자식 클래스에서 부모 클래스의 메소드 접근역할을 한다.

쉽게 설명하면
자식 클래스를 생성할 경우, 부모 클래스가 먼저 생성된 후 자식 클래스가 생성된다.

class생성자(constructor)에서는 super() 키워드 하나만 사용되고
생성자(constructor) 내에서 this키워드가 나오기 전에 사용되어야 한다.

👨‍🏫 super의 기술적 의미

상속된 자식 클래스에 요소 추가 시 새로 추가되는 parameter를 정의하려면
기존 부모 클래스와, 생성자를 다시 정의해 주어야 한다.

이 과정에서 생기는 중복되는 코드가 발생해
error발생 확률 증가, 메모리 낭비 등 매우 비효율적인 낭비가 생긴다.
이러한 부분을 super()로 해결할 수 있다.


0개의 댓글