Backend 백엔드

[ 33 ] Class 실습 ! const 안붙이네?

박민우_ 2024. 8. 22. 11:50

Class 의 정의 

객체를 생성하는 ' 틀 ' 

객체지향 프로그래밍

 

Class 실습 

 

클래스에는 const , let , var 가 붙지 않는다.

함수 생성시 function 키워드도 없다

class Monster {
    power = 10

    constructor(qqq){
        this.power = qqq;
    }


    attack(){
        console.log("공격")
        console.log('내공격력은' + this.power + '야!!')
    }

    run(){
        console.log("도망")
    }
	
    // 화살표 함수도 가능하다.
    fight = ()=>{
        console.log('전투')
    }
}

const myMonster1 = new Monster(20)

Class 상속 실습 

상위 클래스의 기능을 하위 클래스가 그대로 사용하거나, 일부 기능만 수정하고 싶을 때 사용한다.

class Monster {
    power = 10

    constructor(qqq){
        this.power = qqq;
    }


    attack(){
        console.log("공격")
        console.log('내공격력은' + this.power + '야!!')
    }

    run(){
        console.log("도망")
    }

}

class 공중몬스터 extends Monster {

    constructor(aaa){
        super(aaa + 10)
    }

    run = () =>{
        console.log('날라서 도망가자')
    }
}

myMonster1.attack()

myMonster1.run()

// 내공격력은 30이야 !!
// 날라서 도망가자

Class 전략 패턴 

전략 패턴은 객체의 행동을 클래스로 분리하고, 런타임에 그 행동을 동적으로 교체할 수 있게 하는 디자인 패턴이다.

동일한 작업을 여러 방식으로 수행할 수 있는 경우, 동적으로 다른 알고리즘을 적용해야 할 때 사용된다.

클래스 상속보다는 다양한 행동을 쉽게 교체하고 확장하고자 할 때 사용한다.

 

728x90