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

[JavaScript] JS에서 객체 지향 프로그래밍

by hbIncoding 2024. 7. 22.

1. Class와 Prototype

  • 공통점
    • 객체 지향 프로그래밍 지원: 둘 다 JavaScript에서 객체 지향 프로그래밍(OOP)을 지원하는 데 사용됩니다.
    • 메서드 정의: 둘 다 객체의 메서드를 정의하는 데 사용할 수 있습니다.
    • 상속: 둘 다 상속을 구현할 수 있습니다. prototype 체인과 class 상속을 통해 객체 간의 상속을 설정할 수 있습니다.
  • 차이점
    • class
      • ES6에서 도입된 더 직관적이고 간결한 문법을 제공합니다.
      • extends 키워드를 사용하여 상속을 구현합니다.
      • super 키워드를 사용하여 부모 클래스의 생성자와 메서드를 호출할 수 있습니다.
      • 클래스 문법은 더 직관적이고 가독성이 좋습니다. JavaScript에 익숙하지 않은 개발자라도 쉽게 이해할 수 있습니다.
    • prototype
      • ES6 이전의 JavaScript에서는 객체와 함수의 프로토타입을 통해 메서드와 속성을 정의했습니다.
      • 생성자 함수와 프로토타입 체인을 사용하여 상속을 구현합니다.
      • super 키워드가 없으므로 부모의 메서드를 직접 호출해야 합니다
      • 프로토타입 기반 상속은 덜 직관적이며, 특히 상속 계층이 깊어질수록 복잡해질 수 있습니다.