์ด๋ฐ์์
private int CalculateUpgradeCount(BaseUpgrade upgrade)
BaseUpgrade ํด๋์ค์์ ์ ์ธํ Upgrade() ํจ์ ์ฐ๋ ค๊ณ ๋ค๋ฅธํด๋์ค ํจ์์์ ์ ๋ ๊ฒ ์ ์ธ ํ๋๊ฑฐ์?
์ด๋ฐ์์
private int CalculateUpgradeCount(BaseUpgrade upgrade)
BaseUpgrade ํด๋์ค์์ ์ ์ธํ Upgrade() ํจ์ ์ฐ๋ ค๊ณ ๋ค๋ฅธํด๋์ค ํจ์์์ ์ ๋ ๊ฒ ์ ์ธ ํ๋๊ฑฐ์?
๋ฉ์๋ ์ฐ๋ ค๊ณ ๊ทธ๋ด์๋ ์๊ณ ๋งค๊ฐ๋ณ์๋ก ๋ฐ์ ์ธ์คํด์ค ์ ๋ณด๊ฐ ํ์ํด์์ผ์๋ ์๊ณ
๊ธ๋๋ก๋ ๊ฐ๋ฅํ๊ฑฐ์ผ? BaseUpgrade ์ Upgrade() ํจ์ ๋ถ๋ฌ์ฌ๋ ์๋ฌธ์ upgrade ๋ก ์จ๋๋จ?
๋งค๊ฐ๋ณ์ ๋ฐ์๋ ์๊ฐํด๋ด int i ํ๊ณ ๋ฐ์ผ๋ฉด intํ์ ๋ฐ์์ ํด๋น ์ธ์คํด์ค๋ฅผ i๋ก ๋ช ๋ช ํ๋ ๊ฑฐ์์ ๊ธ๋๋ก ์ ๋ ๊ฒ์ฐ๋ฉด BaseUpgrade ํด๋์ค์ ์ธ์คํด์ค๋ฅผ upgrade๋ผ๋ ์ด๋ฆ์ผ๋ก ๋ฐ๋๊ฑฐ๋๊น ๋ฉ์๋ ์ฐ๋ ค๋ฉด upgrade.Upgrade()๋ผ๊ณ ํธ์ถํด์ผ์ง
์ ๊ทธ๋ฅ ์ ์์ด BaseUpgrade ์ ์๋ ๊ธฐ๋ฅ ์ฐ๋ ค๊ณ BaseUpgrade ๋ฅผ upgrade ๋ผ๊ณ ์ ์ธํ๋ค์์ BaseUpgrade ์์ ๊ธฐ๋ฅ๋ค์ upgrade.A, upgrade.B ์ด๋ฐ์์ผ๋ก ํธ์ถํด์ ์ฐ๋๊ฑฐ๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋๊ฑด๊ฐ
ใ ใ ๊ทผ๋ฐ BaseUpgradeํ์ ์ธ์คํด์ค๊ฐ ํ์ํ๊ฒ ์๋๊ณ ๊ทธ๋ฅ ๋ฉ์๋๋ค๋ง ๊ตฌํํ ํด๋์ค๋ผ๋ฉด ์ฐจ๋ผ๋ฆฌ static์ผ๋ก ๋ง๋ค์ด์ ๋ฉ์๋๋ง ์ฐ๋๊ฒ ์ข์
๋ฎจ๋ฒ ๊ณต๋ถ๋ฅผ ํด ใ ใ ์
ใ ใ
๊ธฐ๋ณธ์ ์ธ ์ธ์ด๊ณต๋ถ๋ ํด๋ผ...3๊ฐ์๊ฑธ๋ฆด๊ฑฐ 3๋ ๊ฑธ๋ฆฐ๋ค
์ด๋ฐ์์ผ๋ก ์ ๋ํฐ ๊ณต๋ถํ๋ค๊ฐ ๋ชจ๋ฅด๋๊ฑฐ ์ฐพ์๋ณด๋ฉด ์๋๋๊ฑด๊ฐ..
๊ทธ๊ฒ๋ '๊ธฐ๋ณธ์ ์ธ ์ธ์ด๊ณต๋ถ'๋ ๋ ์ํ์์ ํด์ผ์ง ์์ ๋ ธ๋ฒ ์ด์ค๋ถํฐ ํ๋ฉด ์ฝ์ง์ ๊ธฐ๋ณธ ๋ฒ ์ด์ค์ ๋๋ ์ข ์ ์์ผ๋ก ์ตํ๋์ผ ๋์ค์ ๋ณด๋ค ์ฌํ๊ณผ์ ๋ ์ด์ํ๊ฒ ์์ตํ
๋ ธ๋ฒ ์ด์ค์จ ๋ฌด์จ๊ฒ์ ๋ง๋ค๊บผ์์ ๊ถ๊ธํด์
์ผ๋จ ์์ฐํ ํค์ฐ๊ธฐ ๋ง๋ค์ด์ ๋ฐฅ๋จน๊ณ ์ด๋์ ๋ฒ๊ฒ์
์ด๊ฑด ๋ฉ์๋ ๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ์ด์ผ. ๋ฌด๋ ค 30๋ ๋ ๋ ๋ ์ธ์ด์ธ ์จ์ธ์ด๋ถํฐ ์๋ ๋ฐฉ์์ธ๋ฐ.. ์กฐ๊ธํดํ์ง๋ง๊ณ 6๊ฐ์์ด๋ผ๋ ์ธ์ด๊ณต๋ถ๋ง ํ๊ณ ํด
๋ต๋ณ์ผ๋ก๋ ์ ๊ฑด ๋ฉ์๋(ํจ์) ์ ์ธ์ ์ฐ์ด๋ ๋ฉ์๋ ์๊ทธ๋์ณ์ด๊ณ , CalculateUpgradeCount() ๋ฉ์จ๋๋ ๋ค๋ฅธ๋ํํ ํธ์ถ๋ ๋ BaseUpgrade ํ์ ์ ์ธ์๋ง ๋ฐ๋๋ค๋๊ฑฐ๊ณ , upgrade๋ ๊ทธ๋ ๊ฒ ์ ๋ฌ๋ ์ธ์๋ฅผ ๋ฉ์จ๋ ๋ธ๋ญ{}์์์ ์ธ์ ์๋ BaseUpgradeํ์ ์ ์ง์ญ๋ณ์์ธ๊ฑฐ์ผ.
์ด ๋ง์ ๋ค ์์๋ฃ๊ณ ๊ตฌ๋ถ์ ๋๋ ํ ์ค ์์์ผ ๋ญ ํ๋๊ฐ ํ์ง... ์ด๋ ๊ฒ ์ผ์ผ์ด ๋ฌผ์ด๋ ๊ฐ๋ ์ด ์์กํ์์ผ๋ฉด ๋ต์๋ค.
์ธ์ x ์ธ์ O.