자바스크립트는 프로토타입 기반 언어라서 ‘상속’ 개념이 존재하지 않는다. 그러나 ES6에서부터 클래스 문법이 추가됐다.

클래스와 인스턴스

클래스

class : 계급, 집단, 집합

프로그래밍의 클래스도 영어단어의 클래스와 같은 개념으로 접근할 수 있다.

예를 들어, 어떤 가게에 다양한 음식이 한개씩 있다고 했을 때 음식이라는 범주 안에는 고기, 채소, 과일 등 다양한 종류가 포함된다.

음식은 과일과의 관계에서 상위의 개념이고, 과일은 음식과의 관계에서 하위의 개념이다.

// 그림 추가

음식, 과일은 모두 집단, 즉 클래스이다.

여기서 앞의 super-, sub-를 접목해서 상위 클래스(superclass)와 하위 클래스(subclass)로 표현한다.

그렇다면 과일 분류 하위에 또 다른 분류가 있을 경우에는 클래스 간의 관계가 어떻게 될까?

클래스의 상하관계

한편, 음식은 귤류의 super-superclass이다.