abstract class Weapon {

public abstract void DoDam();

}


์ด๋Ÿฐ ์‹์œผ๋กœ ์„ ์–ธํ–‡์„ ๋•Œ


class FireSword : Weapon {


public override DoDam() {

ํ™œํ™œํƒ€๋ผ

}


class IceSword : Weapon {


public override DoDam() {

๊ฝ๊ฝ์–ผ์–ด๋ผ

}


์š”๋Ÿฐ์‹์œผ๋กœ ๊ฐ๊ฐ ๊ณต๊ฒฉํ•˜๋Š” ๋ฉ”์†Œ๋“œ๋ฅผ ์˜ค๋ฒ„๋ผ์ด๋“œ ํ•ด์„œ ๋งŒ๋“ค๊ณ  ์•„๋ž˜ ๊ฐ™์€ ํ•จ์ˆ˜์—


void enchant(Weapon weapon, Scrap scrap) {

if(isMatchElement(weapon, scrap)) {

๊ฐ•ํ™”์„ฑ๊ณต!

}

}


enchant(fireSword, fireStone) ์ด๋Ÿฐ ์‹์œผ๋กœ ์“ธ ์ˆ˜ ์žˆ๋‹ค ์ด๊ฑฐ์ž„?