JavaScript의 클래스

프로그래밍에서 클래스는 개체의 청사진입니다.
클래스에는 주로 속성과 메서드가 있습니다.
속성은 '클래스에 연결된 변수'와 같습니다.
메소드는 '클래스에 붙은 함수'와 같습니다.

Person이라는 클래스를 만들어 봅시다.

class Person {
    //js object constructor.
    constructor() {
        this.name = "Max";
    }

    printMyName() {
        console.log(this.name);
    }
}


위의 클래스 'Person'은 인스턴스 변수를 생성하고 초기화하는 생성자 함수와 인스턴스 변수의 값을 인쇄하는 'printMyName()' 메서드의 본체에 두 가지를 포함하고 있습니다.
위의 클래스 'Person'은 청사진입니다. 이 클래스에 생명을 불어넣으려면 이 클래스 'Person'에 대한 개체를 만들어야 합니다.
'Person' 클래스에 대한 개체를 만들어 봅시다.

const person = new Person();
person.printMyName();


위의 코드에서는 new 키워드를 사용하여 객체를 생성하고 있습니다.
그리고 인스턴스 변수에 값을 출력하기 위해 'printMyName()' 메소드를 호출하고 있습니다.

계승
자식이 부모의 행동을 물려받는 것처럼 클래스가 다른 클래스의 메서드와 속성을 상속받도록 할 수도 있습니다.
상속받은 클래스를 생성하자.

class Human {
    constructor(){
        this.gender = 'male';
    }

    printGender() {
        console.log(this.gender);
    }
}

class Person extends Human {
    //js object constructor.
    constructor() {
        super();
        this.name = "Max";

    }

    printMyName() {
        console.log(this.name);
    }
}


여기서 extends 키워드를 사용하여 'Person' 클래스가 'Human' 클래스의 메서드와 속성을 상속하도록 합니다.
또한 우리는 'Person' 클래스의 생성자 함수를 재정의하고 있기 때문에 'Human' 클래스의 생성자 함수가 아무런 영향을 미치지 않기 때문에 생성자 함수 내에서 super()를 사용합니다. super() 함수는 자식 클래스에 부모 또는 형제 클래스의 메서드 및 속성에 대한 액세스 권한을 부여하는 데 사용됩니다.
이제 이 상속된 클래스에서 개체를 만들어 보겠습니다.

const person = new Person();
person.printGender();


'Person' 클래스에서 'Human' 클래스를 상속받았기 때문에 'Person' 클래스에서 'Human' 클래스의 printGender() 메소드에 접근할 수 있습니다.

좋은 웹페이지 즐겨찾기