오늘은 모던 JavaScript 튜토리얼에서 클래스 상속(https://ko.javascript.info/class-inheritance)에 대해 공부했다. 작성한 질문은 다음과 같다.
클래스를 다른 클래스로 확장하기 위한 개념을 클래스 상속이라고 말하며, extends 키워드를 통해 상속받을 수 있다. 공통적으로 사용하는 부모 클래스의 메서드 이외에 자식 클래스에 원하는 메서드를 특별하게 추가할 때, 사용하면 좋다.
super 키워드는 부모 메서드 전체를 사용하지 않고 일부 기능만 변경하여 사용하거나 확장하고 싶을 때, 커스텀 메서드를 만들어 작업하면 되면서도 커스텀 메서드 과정 전, 후에 부모 메서드를 호출하고 싶을 때 사용하면 좋다.
부모 생성자 이외에 자식 클래스에 특별한 생성자를 추가하고 싶을 때 사용하는 개념이 생성자 오버라이딩이며 this를 사용하기 전에 자식 생성자 안에서 super()로 부모 생성자 호출을 반드시 진행해야 한다.
부모 클래스의 메서드 이외에 자식 클래스에서 특별한 메서드를 추가하고 싶을 때 사용하는 개념이 메서드 오버라이딩이며 메서드 과정 전, 후에 부모 메서드를 호출하고 싶은 경우 super.method()를 사용해 부모 메서드에 정의된 메서드를 사용할 수 있다.
예전, Java를 공부하며 배웠던 상속, super, 생성자 오버라이딩, 메서드 오버라이딩을 여기서 보게 되어 반갑다는 느낌을 받았고 이번 장을 읽으며 super와 관련하여 깊게 설명하는 내용들은 처음 공부하면 안 읽어도 된다, 미숙한 상태에서 읽으면 혼란을 초래할 수 있다는 무서운 경고 문구들이 있어서 이런 내용들은 클래스 공부를 충분히 한 뒤 다시 찾아와 읽어야겠다는 생각을 했다.
'TIL' 카테고리의 다른 글
TIL - 20220729 (0) | 2022.07.29 |
---|---|
TIL - 20220728 (0) | 2022.07.28 |
TIL - 20220726 (0) | 2022.07.26 |
TIL - 20220725 (0) | 2022.07.25 |
TIL - 20220724 (0) | 2022.07.24 |