์ ๋ํฐ๊ฐ๋ฐ์์ ์ธ์คํด์คํ๋ผ๋๊ฒ ํ์ด๋ผํค์ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋๊ฑธ ๋งํ๋๊ฑฐ์??
ํ์ด๋ผํค์ ์ฌ๋ฆฌ์ง ์์ผ๋ฉด์ย ์ธ์คํด์คํ๋ผ ํ๋ ๊ฒฝ์ฐ๋ ์์?
์ฉ์ด์ ๋ฆฌ๊ฐ ์๋๋ ๋ฒ๊ทธ๋ก๊ทธ ์ฝ์ด๋ ๋ญ์๋ฆฐ์ง ๋ชจ๋ฅด๊ฒ๋ค ใ ใ
์ธ์คํด์คํ๋ฉด ์ธ์คํด์ค๊ฐ ์กด์ฌํ๋ ๋์ ๋ชจ๋ ์คํธ๋ฆฝํธ์์ ์ธ์คํด์ค์ ์ ๊ทผ ๊ฐ๋ฅ
์ธ์คํด์คํ = ์ธ์คํด์ค๋ฅผ ๋ง๋ ๋ค = ํด๋์ค๋ก ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ค๋ ๊ฐ์ฒด์งํฅ์์ ์ฐ๋ ์ฉ์ด์ ํ์ด๋ผํค์ ๊ฐ์ฒด๊ฐ ์์ฑ๋จ = ์ ๋ํฐ GameObject๊ฐ์ฒด๊ฐ ์์ฑ๋๋ค๋ ๋ง์ธ๋ฐ ์ด๊ฒ ์ธ์คํด์คํ๊ฐ ๋ง๊ธดํ๋ฐ, ์ ๋ํฐ GameObject๊ฐ ์๋ ๊ฒ๋ ์ธ์คํด์คํํ ๊ฒฝ์ฐ ํ์ด๋ผํค์ ๋ณด์ด์ง ์๋ ๊ฒฝ์ฐ๋ ์์ผ๋ฏ๋ก ๋ฐ์ ๋ง๊ณ ๋ฐ์ ํ๋ฆผ
ํด๋์ค๊ฐ ์ค๊ณ๋๋ฉด์ด๊ณ ๊ทธ ์ค๊ณ๋๋ฉด์ ํ ๋๋ก ๊ฐ์ฒด๋ฅผ ์์ฑํ๋๊ฑธ ์ธ์คํด์คํ๋ผ๊ณ ํจ. ํ์ด๋ผํค์ ์ฌ๋ฆฌ๋๊ฒ๋ ๋๊ฐ์๊ณผ์ ์ด์์.
Player player = new Player();
Player player2 = new Player();
์ธ์คํด์คํ 2๋ฒํ๊ฑฐ์
์์ ๋ง๋ง์ด๊ธดํ๋ฐ์. ์*์ซ๋ฐ๊ตฌ๋์ด ๋งํ ๋ฐ๋ง์ด๋ ๋ง์ด ๋ง๋ง์ด์์. ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ฉ์ด์์ '์ธ์คํด์คํ'๋ ํด๋์ค์ ์ธ์คํด์ค๋ฅผ ๋ง๋๋ ๊ฒ์ ๋งํ์ง๋ง ์ ๋ํฐ์์๋ ์ถ๊ฐ๋ก '์ธ์คํด์คํ'๋ผ๋ ๊ฒ์ instantiate ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ ์๋ฅผ ๋ง ํ ์ ์๋๋ฐ, ์ด๊ฒฝ์ฐ '๋ณต์ '๋ฅผ ์ผ๊ธฐํฉ๋๋ค. ๋ณดํต์ ํ๋ฆฌํน์ด๋ ๊ฒ์์ค๋ธ์ ํธ๋ฅผ ๋ณต์ ํ ๋ ์ฌ์ฉํด์. ๊ทธ๋ฌ๋ฏ๋ก ์ด๊ฒฝ์ฐ ํ์ด์ด๋ผํค(์ฌ)์ ์ถ๊ฐ๋์ฃ . ์ด๋ฆ์ ์ง์ ํ์ง ์๋ ๊ฒฝ์ฐ ์ด๋ฆ๋ค์ (clone)์ด๋ผ๋ ์ ๋ฏธ์ฌ๊ฐ ๋ถ๋ ๊ฑธ ๋ณผ ์ ์์ด์. ํด๋์ค ์ธ์คํด์ค๋ฅผ ๋ง๋๋ ์ธ์คํด์คํ๋ ์ฝ๋์์ ์๋ ์์ฃผ ์ด๋ฃจ์ด์ง๋ฏ๋ก ๊ทธ์๋ํด '์ธ์คํด์คํ'๋ผ๊ณ ๋ณ๋ก ์ธ๊ธํ์ง ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ณดํต์ '์ด๊ธฐํ(instantiating)'๋ผ๊ณ ํ์ฃ . ๊ทธ๋์ ์ ๋ํฐ์์๋ ๋๋ฒ์งธ ์๋ฏธ๋ก ๋ง์ด ์ธ๊ธํฉ๋๋ค.