본문 바로가기
JS

230113 JS ES6 class상속

클래스 상속

자바와 똑같이 extends 사용
생성자를 건들지 않아도 됨.
생성자를 만들 때는 super()키워드를 통해 부모자식간 연결을 반드시 해줘야 함. 자바랑 달리 직접 해야 한다.

get, set(getter setter가 아닌 getter setter를 만드는 예약어임), static 예약어로 메서드를 설정할 수 있음. 

-잘 사용하진 않음.
-선언적 함수임.

ex)

set setW(w) {
	this.w=w;
}

 

 


class Shape{
            constructor(){}

            func=() => {console.log("func호출")}
        }

        class Rect extends Shape{
            //프로그래머가 생성자를 직접 만들게 되면 super()를 통해 연결해야 합니다.
            constructor(w,h){
                super();//부모의 생성자 연결 
                this.w=w;
                this.h=h;
            }

            //set
            setW = (w)=>{
                this.w=w;
            }

            //get
            getW=()=>{
                return this.w;
            }

            //set, get, static같은 키워드들로 함수를 설정할 수 있습니다.

        }

        //객체생성
        let rect = new Rect();
        rect.func();//물려받음

        //객체생성2
        let rect2=new Rect(10,20);
        console.log(rect2.w);
        console.log(rect2.h);
        rect2.setW(30);
        console.log(rect2.getW());