Inheritance 2

[Javascript] super

1. super를 왜 사용하는가? 부모 클래스의 기능을 수행하면서, 부모가 하지 못하는 기능을 자식 클래스만 하도록 하기 위해 super를 사용한다. 2. super의 사용 예시 예를 들어, 아래와 같은 부모, 자식 클래스가 있다고 가정해보자. 여기에 third라는 항목을 추가하고 싶다면? 어떻게 하면 될까? 부모 클래스에 있는 것들을 가져오고, 새로운 항목을 추가하여 코드를 짜 봤다. 이대로 실행시키면 될까? 다음과 같이 ReferenceError가 발생된다. 에러에 따르면, 'this'에 접근하기 전 또는 자식 클래스에서 return 하기 전에 자식 클래스에서 super 생성자를 호출해야 한다고 말한다. 따라서, 자식 클래스에서 super 생성자를 사용해야만 정상적으로 작동한다는 뜻이다. 첫번째로 s..

Tech/Javascript 2021.01.03

[Javascript] 상속(Inheritance)

1. Javascript 에서 상속을 사용하는 이유? 어떤 클래스의 원래의 기능을 최소한으로 유지하면서, 새로운 기능을 추가하고 싶은데 클래스 안에 코드를 추가하기에는 너무 부담스러울 때 상속을 사용하게 된다. 물론 코드를 복사해서 새로운 클래스를 만들 수 있지만, 그 경우에는 중복이 발생하기 때문에 상속이 필요한 것이다. 2. 상속의 사용 예를 들어, 이 Person이라는 클래스에 평균을 내는 method를 추가하고 싶다고 해보자. 이를 복사해서 새로운 클래스를 하나 더 만들어서 avg method를 정의한다. 하지만, 중복된 코드를 제거하고 싶다는 생각이 들기 시작한다. 그래서 사용하는 것이 상속(inheritance)이다. PersonPlus라는 클래스는 Person이라는 클래스를 확장했다는 의미이..

Tech/Javascript 2021.01.02