본문 바로가기
카테고리 없음

[Javascript] Class & Super

by merona99 2022. 1. 21.
반응형

Javascript - Class & Super

 

Class는 객체를 생성하기 위한 템플릿이다.

Class와 Constructor, Super에 대해서 알아보자.

 

 

 

기본 Class

class 선언을 통해서 Class를 정의

 

constructor 메서드: class로 생성된 객체를 생성하고 초기화하기 위한 특수한 메서드

이는 클래스 안에 한 개만 존재할 수 있음.

만약 클래스에 여러 개의 constructor 메서드가 존재하면 SyntaxError가 발생

 

[실행순서]

new Lion("King")을 했을때

  1. 새로운 객체가 생성됨
  2. 넘겨받은 인수와 함께 constructor가 자동으로 실행됨. 이때 인수 "King"이 this.name에 할당됨
  3. 이후 myLion.getName()과 같은 객체 메서드를 호출할 수 있음

 

 

상속

Animal -> 부모클래스

Lion -> 자식클래스 

extends '부모클래스명'을 적어서 부모클래스를 상속받음

 

※ super을 사용하지 않았을때
Must call super constructor
이라는 오류가 뜸

이말은 super constructor를 사용해야 한다는 것.

 

 

super 사용

임의로 super(name)을 넣어보자.

leg부분에 Lion클래스에서 입력받은 name이 들어간 것이 보임.

즉, super()은 부모의 input()값을 넣어야함. (=부모 constructor의 인풋값)

 

 

올바른 super의 사용

 

Super은 부모의 인풋이다.

 

 

※ 예제

해당 예제는 React에서 쓰이는 부분을 가져온 것인데

super(props)가 무엇을 의미하는지 유추해 보았을때

React.Component의 인풋값을 의미함을 알아낼 수 있다.!

 

 

반응형

댓글