• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

들어보니 자바의 클래스와 개념이 같은거 같은데 맞나요?

21.02.21 18:59 작성 조회수 172

0

자바의 클래스와 개념이 같다고 이해하면 될 까요? 문법은 다른데 super를 써서 최상위 클래스를 초기화 한 후 사용하는 방식이랑 상속도 그렇고... 비슷한데 그러면 최상위 메서드 오버라이딩도 가능한가요? 그리고 다형성도 성립이 되나요 그럼?

답변 1

답변을 작성해보세요.

1

자바의 클래스의 개념과 비슷한 것은 맞지만,
자바스크립트는 프로토타입 개념으로부터 클래스를 구현한 것이기 때문에,
자바 클래스와는 접근 방법 자체가 다르므로 모든 기능이 동일하게 구현되어 있지는 않습니다.
메서드 오버라이딩은 얼마든지 가능하며, 그런 맥락에서는 다형성이 성립합니다.
반면 메서드 오버로딩은 불가하고, protected 등도 불가합니다 (private은 ES2019에서 추가되었습니다만 명칭이 다릅니다).

한편 바로 '상위'에 있는 클래스에의 접근은 가능하나, 그보다 더 상위의 클래스에의 접근은 불가능합니다.
예를 들어 2뎁스 이상의 클래스 상속구조의 경우 '최하위' 클래스에서는 '최상위' 클래스에 대한 오버라이딩은 불가합니다.