์ ๋ชฉ์ ํฌ๊ด์ ์ผ๋ก ์ ์ด์ ๋ฏธ์!
์คํฌ์ด ์์ฒญ ๋ง์ ๊ฒ์์ ๊ฐ๋ฐ์ค์ธ๋ฐ
๋ณดํต ์คํฌ/์คํฌ ๋ฐ์ดํฐ๋ก ๋๋ ์ ๋ง๋ค์๋
ํน์ ์คํฌ์ ์ฌ์ฉํ ๋ ํด๋น ์ธ์คํด์ค๋ฅผ ์์ฑํด์ ๋ฐ๋ํ๊ณ ์ถ๊ฑฐ๋ ..
๊ทผ๋ฐ ๊ทธ ํด๋น ์ธ์คํด์ค ์์ฑ์ ์ด์บ ํน์ ํ๋์ง ์ ๋ชจ๋ฅด๊ฒ ์ด
์ง๊ธ์ ๊ฑย ํน์ ์คํฌ ์์ด๋๊ฐ ์ค๋ฉด ์ฒ์์ ๋ก๋ํด๋๋ ์คํฌ ๋ฐ์ดํฐ ๋์ ๋๋ฆฌ ์ฐธ๊ณ ํด์
์คํฌ ํ๋๋ฅผ ํ๋์ ๋ฉ์๋ํ ์์ผ์ ๊ทธ๊ฑธ ๋ฆฌํ๋ ์ ์ผ๋ก ์ฐพ์์ ์คํํ๊ณ ์๊ฑฐ๋
๊ทผ๋ฐ ์ด๊ฑด ์ข ์ํด๋ ๋๋ฌด ๋ง์ด๋ณด๊ณ ์ผ๋ฐ์ ์ธ ๋ฐฉ์์ ์๋๊ฒ ๊ฐ์์
๊ทธ๋ ๋ค๊ณ ๋ฌด์ํ๊ฒ ์คํฌ ํด๋์ค๋ฅผ ๋ง๋ค๋๋ง๋ค ํ๋ํ๋ย ํ๋์ฝ๋๋ก ์ ์ด๋ฃ๋๊ฒ๋ ์๋๊ฒ ๊ฐ๊ณ
์ด๋ฐ์์ผ๋ก ์๊ฒผ๋๋ฐ ์ต์ข
์ ์ผ๋ก๋
ํน์ ์คํฌ ๋ฐ๋์
Skill skill;
~~~
skill = new SkillA();
~~
skill.DoSkill();
์ด๋ฐ ๋๋์ผ๋ก ์ฐ๊ณ ์ถ์๋ฐ ์ ์คํฌ๋ฐ์ดํฐ์ ID๋ฅผ ๋ณด๊ณ ์ด๋ค ์คํฌ์ธ์ง(์คํฌA) ๋ฏธ๋ฆฌ ๋ฐ์ธ๋ ํด๋ ์ ์๋ ๋ฐฉ๋ฒ์ด ๋ญ๊ฐ ์์๊น?
์๋๋ฉด ๋ฐฉ๊ธ ๋ ์๊ฐ์ธ๋ฐ
์คํฌ์์ ๊ฐ๋ฅํ ๋ชจ๋ ์ก์ ์ ํด๋์คํ ํด๋๊ณ ๊ทธ๊ฒ๋ค๋ง ๋ด๋ถ ์ฝ๋๋ก ๋ค๊ณ ์๋ค๊ฐ
์ฐ๋ฆฌ๊ฐ ์์ฑํ๋ ์คํฌ ๋ฐ์ดํฐ๋ ๊ทธ๊ฒ๋ค์ ์์๋ง ํธ๋ฆฌ ํํ๋ก ์์ฑํด์ ๋ค๊ณ ์๋ค๊ฐ
๋นํค์ด๋น์ด ํธ๋ฆฌ์ฒ๋ผ ์ํํ๋ฉด์ ์คํํ๋ ๋ฐฉ์์ผ๋ก ๋ง๋๋๊ฑฐ์ผ??
์ง๋ฌธ์ด ๋์์์ด์ ๋ฏธ์ํด.. ์ ๋ชฐ๋ผ์ ๊ทธ๋ฐ๊ฑฐ์ผ
์์์ฝ๋๋ก ์คํฌ๋๋ง๋ค์ด๋ณด๊ณ , ๋นํค์ด๋น์ด๋ก๋ ๋ง๋ค์ด๋ณด๊ณ , ์์ ์์ ๋ฐ์ดํฐ๋ก๋(์ด๊ฑด ๊ฐ์ํ๊ธฐํ์๊ฐ) ๋ง๋ค์ด๋ณธ ๊ฒฐ๊ณผ... ์ผ๋ฐ์ผ๋ผ๊ณ ๋ณด๋๊ฒ ๋ง์. ๋กค๊ฐ์ ๊ฒฝ์ฐ ์คํฌํ๋ํ๋๊ฐ ์ธ์ฌํด์, ์์ ์ฝ๋๋ก๋ง ์ง ๋ค๊ณ ํ๊ฑฐ๋ . ๊ทธ๋ผ ์ฝ๋๊ฐ ๋ง๋๊ฑฐ๊ณ . ์คํฌ์ด ๊ฝค ๋จ์ํด์ ๋ฐ์ดํฐํํด๋ ๋ ๊ฑฐ๊ฐ์ผ๋ฉด ์์ ๋ก ๋ง๋๋๊ฑฐ๊ณ . ๊ทธ ์ค๊ฐ์ผ๋ก ๋นํค์ด๋น์ดํธ๋ฆฌ๊ฐ ์๊ตฌ. ์ผ๋ฐ์ผ์ ์ผ๋ฐ์ผ
์์ ์ฝ๋๋ก๋ง ํ๋ ๊ฒฝ์ฐ๋ ์์ด? ์ฌ์ค ๋ฆฌํ๋ ์ ์ด๋ ๊ทธ๊ฑธ ๊ทธ๋ฅ ๋ฏธ๋ฆฌ ์ฝ๋๋ก ๋ฐ์ธ๋ ์์ผ๋๋๊ฑฐ๋ ํ์์น๋๊ฑด ๋ณ ์ฐจ์ด ์๋๋ฐ ์๋๋ ๋ฆฌํ๋ ์ ๋ณด๋ค ๋ฏธ๋ฆฌ ์ณ๋๋๊ฒ 100๋ฐฐ๋ ๋ ๋น ๋ฅผ๊บผ ์๋์ผ ๊ทธ๋์ ๊ทธ๋ฅ ๊ทธ๋ด๊น ์๊ฐํ์๋๋ฐ.. ๊ณ ๋ง์ ํ! ๋ง ๋ ธ์ดํ ๊ฐ์ ๊ฒ์์ด๋ฉด ๋นํค์ด๋น์ดํธ๋ฆฌ๋ก ๋ง๋ค๊บผ ๊ฐ์๋ฐ ๊ทธ๊ฑด ์๋๊ณ ์ ํฌ์์ ๊ฐ๊น์ฐ๋๊น ๊ทธ๋ฅ ์ฌ๊ธฐ์ ๋ฏธ๋ฆฌ ๋ฐ์ธ๋๋ง ์์ผ๋ฌ์ผ๊ฒ ๋ค ๋ฐ์ดํฐ์์ ํด๋์ค๋ก ์ ๋๋ ์ดํธ ํ๋ ๋ถ๋ถ๋ง ๊ตฌํํด์ ๋ด๋ถ๋ ์ง์ ๊ตฌํํ ๊ป
๋ค์ ๋งํ์ง๋ง ๊ณ ๋ง์!
์์ฐธ ๋ ์คํฌ ๋ง๋ค๊ณ ํ์ง. ๊ธ๋จธ ์ฝ๋๋ณด๋จ ๋ค๋ง๋๋ก Atomicํ ์ก์ ๋ค๋ง ๋ง๋ค์ด๋๊ณ ๋ฆฌํ๋ ์ ์ผ๋ก ํ๋๊ฒ ๋์๋ฏ
๋ฆฌํ๋ ์ ์ผ๋ก ํด๋ ๋ ๊น..? ๋์ค์ ๋๋ฒ๊น ๋ ํ๋ค๊ณ ๋๋ฌด ๋๋ฆฌ์ง ์์๊น ํด์ ์ด๋ฒ์ ๊ทธ๋ฅ ๋ฏ์ด๊ณ ์น ๊น ํ๋๋ฐ ์ฐ์ ์ ์ ๊ฐ๋ฐ์ข ๋ ํ๊ณ ์ ์๋๋ฉด ๋ฐ๊ฟ์ผ๊ฒ ๋ค
๋นํค์ด๋น์ดํธ๋ฆฌ๋ ํธ๋ฆฌ์ ์๋ ์ก์ ๋ค ์คํ๋๋ ค๋ฉด ๋ฆฌํ๋ ์ ์ด ๋น๊ทผ์. ๊ทธ๊ฑธ ์ผ์ผ์ด ๋ฐ์ธ๋ฉํ๋๊ฑด ์ง์ง ๋ญ ์๋ ๋ฃจ์ ํจ์ ํ๋์ฉ ๋ฐ์ธ๋ฉํ๋ ์๋ ํธ๋์ด ๊ณฐ๋ฐฉ๋ ํผ๋ ์์ ๋๋ ํ๋ ์ง์ด๊ณ .. ์ ๋ํฐ์ ์๋ NodeCanvas๋ ๋๋ ๋ด๊ฐ ์ฐ๊ณ ์๋ ๋นํค์ด๋น์ดํธ๋ฆฌ๋ ์ ๋ถ ๋ฆฌํ๋ ์ ์ผ๋ก ๋ค ๋ก๊ฒจ์์ ์. ๋ฐํ์์์ ์คํ๋ ๋๋ ์๋์ ํ๋ ๋ณ๋ก ์์ด. ํธ๋ฆฌ ์ธ์คํด์ฑํ ๋์ข ๋ถํ๊ฐ์์์๋์๋๋ฐ, ๊ทธ๊ฑฐ์ผ ๋ก๋ฉ๋ ๋ฏธ๋ฆฌ ์บ์ฑํด๋๋ฉด ํด๊ฒฐ๋ ๋ฌธ์ ๊ธฐ๋ ํ๊ณ
์ค์น ๊ณ ๋ง์ ๋๋ถ์ ์ข ํ์ ์ ๊ฐ์ง๊ณ ์ด๋ ์ ๊น์ง๋ง ๊ณ ์ณ์ผ ํ ์ง ๋ฑ ์ ํ๊ณ ์ ๊ฒฝ ๋๊ณ ํ ์ ์์๋ฏ! ๋ฌธ์ ์๊ธฐ๋ฉด ๋ญ ๋์ค์ ์ถ๊ฐ๋ก ๋ ธ๊ฐ๋ค์ข ๋ ํ๋ฉด ๋๊ฒ ์ง
ใ ใ ํ์ดํ ! ๊ทธ๋ฆฌ๊ณ ๋๊ฐ ์๊ฐํ๋๊ฒ ๋ง๋๊ฑฐ๊ฐ์ผ๋ฉด ๋ฐ์ด๋ถ์ด์ผ. ๋์ค์ ๋ณด๋ฉด ๋๊ฐ ์๊ฐํ๋๊ฒ ๋จ๋ค ์๊ฐํ๋๊ฑฐ๋ ๊ฑฐ๊ธฐ์ ๊ฑฐ๊ธฐ์ธ๊ฑฐ ์๊ฒ๋จ ใ ใ ๊ทผ๋ฐ ์ธ์์ ๊ดด๋ฌผ๋ ์ข ์๊ธดํจ. NodeCanavs๋นํค์ด๋น์ดํธ๋ฆฌ ์ฝ๋ ๋ฒ ๊ปด์ ๋ง๋ค์ด๋ณด๊ณ ์๋๋ฐ, ์ง์ง ๋ฆฌํ๋ ์ ์ง์ง ๊ฐ์์จ๊ฐ์ง๊ณ ๋ง๋ค์ด๋์, ํธ์๋ ฅ์ด ์ฅ๋์๋๋๋ผ๊ณ .. ๋ง๋ ๋๋ ์ฐธ ๊ฒฝ์ด๋ก์. ์ด๊ฑด ๋์ค์ ๊ฐ๋ฐ์ผ์ง๋ก ํ๋ฒ ์ฌ๋ฆด๊ฒ.