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
'Backend 백엔드' 카테고리의 다른 글
[ 35 ] MVC 패턴 실습 (0) | 2024.08.22 |
---|---|
[ 34 ] 객체지향 프로그래밍 (0) | 2024.08.22 |
[ 32 ] 오픈그래프 스크랩핑 (0) | 2024.08.21 |
[ 31 ] 스크래핑과 브라우저 주소창의 원리 (0) | 2024.08.21 |
[ 30 ] 몽구스의 숨겨진 진실 (0) | 2024.08.21 |