본문 바로가기
Script/JavaScript

[JavaScript] Chapter 17. 클래스

by song.ift 2022. 12. 16.

클래스 (Class)

  • 객체를 생성하기 위한 틀, 객체X
  • 클래스 안에 데이터가 없다
  • 메모리에 올라가지 않는다.
Class Info {
    // 생성자
    constructor({name, age}) {
        this.name = name;
        this.age = age;
    }
    
    write() {
        return this.name + this.age;
    }
}

let info = new Info({name:"홍길원", age:31});
console.log(info.write());

 

Getter

  • 프로퍼티 값을 가져오기 위한 함수

Setter

  • 프로퍼티 값을 설정하기 위한 함수
get 함수명() {
    return this._변수명;
}

set 함수명(value) {
    this._변수명 = value;
}

사용은 함수처럼 호출()해서 사용하는 것이 아닌, 변수처럼 사용한다

 

Prviate 프로퍼티

  • 외부 접근 불가능
  • Class 내부에서 사용, 변경 가능
  • 표현식 : 변수 앞에 # 붙임

Public 프로퍼티

  • 외부 접근 가능
  • Class 외부에서 사용, 변경 가능
  • 표현식 : 변수 앞에 # 안붙임

 

class Info {
    publicValue = "50kg";
    #privateValue = "50kg";
}

 

인스턴스 (Instance)

  • 클래스나 프로토타입을 이용하여 만든 것
  • 프로퍼티와 메소드를 상속받음
  • 클래스로 만든 객체

 

인스턴스 (extends)

  • 부모가 자식에게 물려주는 것
    • 부모 class가 자식 class에게 물려주는 것
    • 자식 class는 부모 class 사용 가능
// 부모 클래스
class ParentClass {
    sum() {
        // 코드
    }
    
    write() {
        // 코드
    }
}

// 자식 클래스
class ChildClass extends ParentClass {
    sum() {
        super.sum();
    }
    
    // 메소드 오버라이딩
    write() {
    }
}

//  부모 Class
lat parent = new ParentClass()

 

 

댓글