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