객체 지향 자바스크립트 소개

https://www.amazon.com/John-Au-Yeung/e/B08FT5NT62에서 Amazon에서 내 책을 확인하십시오.

지금 http://jauyeung.net/subscribe/에서 내 이메일 목록을 구독하십시오.

JavaScript는 부분적으로 객체 지향 언어입니다.

JavaScript를 배우려면 JavaScript의 객체 지향 부분을 배워야 합니다.

이 기사에서는 JavaScript의 객체 지향 부분을 살펴보겠습니다.

객체 지향 프로그래밍 및 JavaScript



객체 지향 프로그래밍 언어에는 몇 가지 공통점이 있습니다.

그들은:
  • 개체, 방법 및 속성
  • 클래스 
  • 캡슐화
  • 집계 
  • 재사용성/상속 
  • 다형성

  • JavaScript에는 이러한 기능이 대부분 있습니다.

    그러나 JavaScript에는 클래스 구문이 있어도 클래스가 없습니다.

    클래스 구문은 프로토타입 기반 상속 모델 위에 있는 구문 설탕입니다.

    그러나 다른 부분이 있습니다.

    JavaScript를 사용하여 다양한 방식으로 객체를 정의할 수 있습니다.

    그리고 객체는 속성과 메서드를 가질 수 있습니다.

    JavaScript의 메소드는 생성자 또는 클래스의 일부일 수 있습니다.

    또는 객체 리터럴의 일부일 수 있습니다.

    상속과 객체 병합을 통해 코드를 사용할 수 있습니다.

    또한 인터페이스가 대체될 수 있는 한 다형성을 가질 수 있습니다.

    사물



    객체는 JavaScript 객체 지향 프로그래밍의 기본 빌딩 블록입니다.

    객체는 무언가의 표현입니다.

    물건은 무엇이든 될 수 있습니다.

    실제 객체를 모델링하거나 더 추상적인 것을 나타낼 수 있습니다.

    그들은 색상, 이름, 무게 등과 같은 특성을 가지고 있습니다.

    책, 자동차 등의 개체는 대부분 바운스를 사용하여 이름을 지정합니다.

    메소드는 무언가를 수행하기 때문에 동사로 이름이 지정됩니다.

    값은 형용사입니다.

    클래스



    JavaScript에는 실제 클래스가 없습니다.

    그러나 클래스 구문이 있습니다.

    JavaScript 상속은 다른 객체가 상속하는 객체인 프로토타입을 통해 수행됩니다.

    또한 JavaScript에는 클래스처럼 보이는 생성자가 있습니다.

    클래스처럼 new 키워드로 인스턴스화할 수 있지만 무엇이든 반환할 수 있는 함수입니다.

    모든 인스턴스가 동일한 메서드를 공유하도록 프로토타입을 가질 수 있습니다.

    다음과 같이 작성하여 생성자를 만들 수 있습니다.

    function Person() {
      //...
    }
    


    이는 다음과 같습니다.

    class Person {
      //...
    }
    


    다음과 같이 작성하여 메소드를 작성할 수 있습니다.

    function Person() {
      //...
    }
    
    Person.prototype.eat = function(){
      //...
    }
    


    클래스 구문을 사용하여 다음과 같이 작성합니다.

    class Person {
      //...
      eat(){
        //...
      }
    }
    


    캡슐화



    캡슐화는 또 다른 객체 지향 프로그래밍 개념입니다.

    객체는 속성에 저장된 데이터를 보유합니다.

    그리고 그들은 메소드를 통해 데이터로 뭔가를 할 수 있습니다.

    캡슐화는 또한 절대적으로 필요한 것만 외부에 노출한다는 것을 의미합니다.

    각 부분이 서로에 대해 덜 알수록 더 좋습니다.

    이는 한 부분이 변경될 때 다른 부분에 영향을 미치는 것을 원하지 않기 때문입니다.

    예를 들어, 우리는 타사 라이브러리가 내부적으로 어떻게 작동하는지 알고 싶지 않습니다.

    우리는 그들이 노출하는 인터페이스를 사용하고 싶을 뿐입니다.

    이렇게 하면 자체 앱에서 라이브러리의 내부를 사용할 수 없습니다.

    따라서 라이브러리가 변경되면 변경으로 인해 앱이 중단될 가능성이 줄어듭니다.

    많은 객체 지향 프로그래밍 언어는 클래스 변수에 대한 액세스 수준이 다릅니다.

    JavaScript와 같은 일부 언어에는 public , privateprotected 메서드가 있을 수 있습니다.

    JavaScript에는 액세스 제어가 없습니다.

    Wd는 함수와 모듈에서만 개인 데이터를 유지할 수 있습니다.

    결론



    JavaScript는 부분적으로 객체 지향 언어입니다.

    그것은 그들이 할 수 있는 많은 일을 할 수 있습니다.

    그러나 누락된 주목할만한 사항에는 클래스와 개인 또는 보호된 인스턴스 변수가 포함됩니다.

    좋은 웹페이지 즐겨찾기