목록2021/07/14 (2)
bread, coffee and coding
디자인패턴 중 스트래티지 패턴을 활용하여 롤플레잉 게임의 기능을 만들어 봅시다. 최종 부모클래스는 Hero 입니다. 영웅의 직업은 마법사(Wizard), 전사(Warrior), 기사(Knight), 소서리스(Sorceress) 입니다. 공격(Attack) 기능을 구현하고 싶은데 직업마다 공격법이 달랐으면 합니다. 마법사 - fireMagicAttack 전사 - punchAttack 기사 - swordAttack 소서리스 - iceMagicAttack 영웅들은 객체마을에서 단순히 attack()을 하면 각자 직업에 맞는 공격을 구현하고 싶습니다. 만들어 주세요. package org.example; interface AttackBehavior{ public void attack(); } class Fire..
더보기 package org.example; interface FlyBehavior { public void fly(); } class FlyWithWings implements FlyBehavior{ @Override public void fly() { System.out.println("날아다닌다"); } } class FlyNoWay implements FlyBehavior{ @Override public void fly() { System.out.println("날지못한다"); } } interface QuackBehavior{ void quakc(); } class Quack implements QuackBehavior{ @Override public void quakc() { } } class..