์ ๋ค๋ฆญ ์์ฐ๊ณ ์ง์ ์ฝ๋ฉํ ์ฑ๊ธํค์์๋ bool ์ฐ๋๊ฑฐ๋ฅผ ๋ชป๋ดค๋๋ฐ
์ ๋ค๋ฆญ์์๋ง ์ฑ๊ธํค์ด ๋จผ์ ์ญ์ ๋ ์ ์๋ ๋ฌธ์ ๊ฐ ์๊น?
์ ๋ค๋ฆญ ์์ฐ๊ณ ์ง์ ์ฝ๋ฉํ ์ฑ๊ธํค์์๋ bool ์ฐ๋๊ฑฐ๋ฅผ ๋ชป๋ดค๋๋ฐ
์ ๋ค๋ฆญ์์๋ง ์ฑ๊ธํค์ด ๋จผ์ ์ญ์ ๋ ์ ์๋ ๋ฌธ์ ๊ฐ ์๊น?
์ฃผ์๋ณด๋ฉด ๋ต์ด ๋์์์
์๋ฏธ๋ ์ดํด๋๋๋ฐ, ์ ๋ค๋ฆญ ์์ฐ๊ณ ๊ฐ๋จํ๊ฒ ์ ์ด๋ ์ฑ๊ธํค๋ค์ ์ ๋ฐ ์ฒ๋ฆฌ๋ฅผ ์ํ๊ธธ๋ ํน์ ์ ๋ค๋ฆญ์์๋ง ์ ๋ฐ ์ผ์ด ๋ฐ์ํ๋์ง ๋ฌป๋๊ฑฐ์์.
๋ณดํต ์ฑ๊ธํด์ MonoBehaviour์์ ์ํ๊ณ ์ฐ๋๋ฐ, ์ ์ฑ๊ธํด์ MonoBehaviour๋ฅผ ์์ํ์์. ๋๋ Monobehaviour ์ฑ๊ธํด์ ์ ๋ฐ์์ผ๋ก ๋ง์ด ์ฐ๊ธด ํ์ด. ์๋๋ฉด ์ ๋ ๊ฒ Mono์์ํ๋ ์ฑ๊ธํด์ ์ฌ์ฉํ๋ฉด ์ฝ๋ฃจํด ์ฐ๊ธฐ๊ฐ ํธํ๊ฑฐ๋ . ์ด๊ฒ ์ด๋ค ๋ฌธ์ ๋๋ฌธ์ ๋๋ ์ ๋ฐ์์ผ๋ก ์ฝ๋๋ฅผ ์งฐ๋๊ฑธ๋ก ๊ธฐ์ตํด. ๋ญ์๋๋ฉด A๋ผ๋ MonoBehaviour๋ฅผ ์์ํ๋ ์คํฌ๋ฆฝํธ๊ฐ ์์. ๊ทธ๋ฆฌ๊ณ ์ Singleton๋ฅผ ์์ํ๋ B๋ผ๋ ์ฑ๊ธํด ์คํฌ๋ฆฝํธ๊ฐ ์์ด.
A์ OnDestroy์๋ B์ฑ๊ธํด์ ํธ์ถํ๋ ์ฝ๋๊ฐ ์๋ค๊ณ ์น์. ์๋ํฐ์์ Stop์ ๋๋ ์ด. ๊ทธ๋ผ ์ ๋ํฐ์์ง์ B์คํฌ๋ฆฝํธ๊ฐ ๋ถ์ ๊ฒ์์ค๋ธ์ ํธ๋ A์คํฌ๋ฆฝํธ๊ฐ ๋ถ์ ๊ฒ์์ค๋ธ์ ํธ๋ฅผ ์ญ์ ํ๋ฉด์ ๋์์ ๊ฐ๊ฐ OnDestroy๋ฅผ ํธ์ถํ ๊ฑฐ์ผ.(์์๋ ์์ง๋ง์) B ๊ฒ์์ค๋ธ์ ํธ๋ ์ญ์ ๊ฐ ๋ฌ์ด. ๊ทธ๋ฆฌ๊ณ A๋ฅผ ์ญ์ ํ๋ฉด์ OnDestroy๊ฐ ๋ถ๋ ค์ B๊ฐ ๋ค์ ์์ฑ๋จ(์ shutdown๋ถ๋ฆฌ์ธ์ด ์์ผ๋ฉด ๋ค์ ์์ฑ๋๊ฒ๋จ) Stop์ด ๋๋๊ณ ์๋ํฐ๋ชจ๋๋ก ๋์์๋๋ฐ B์ฑ๊ธํด ๊ฒ์์ค๋ธ์ ํธ๊ฐ ์๋ํฐ ์ฌ์ ๋จ์๋ฒ๋ ธ๋ค.
๊ทธ๋์ ๋๋ ์ ๋ ๊ฒ shutDown๋น์ทํ ๋ถ๋ณ์๋ก ์ฑ๊ธํด์ onDestroy๊ฐ ๋ถ๋ฆฌ๋ฉด shutDown์ true๋ก ํด์ ๋์ด์ ์์ฑ์๋๊ฒ ํ๋ ๊ธฐ์ต์ด ์๋ค.
์ด๊ฒ ์ ์ผ ์๋ฒฝํ ๋ต๋ณ์ธ๋ฏ
์ ๋ค๋ฆญ ๋๋ฌธ์ด ์๋๊ณ Singleton์์ Singleton ์์ฒด๊ฐ MonoBehaviour๋ฅผ ์์ํ๊ณ , T ์์ฒด๋ MonoBehaviour๋ฅผ ์์ํ๋ ํ์ ๋ง ํ์ฉํ๋๋ก ์์ฑํ๊ธฐ ๋๋ฌธ์. ์ผ๋ฐ์ ์ผ๋ก MonoBehaviour๋ฅผ ์์ํ๋ ์ด์ ๋ GameObject์ AddComponent๊ฐ์ ๊ฑธ๋ก ์ถ๊ฐํ ๋ค์, Awake, Start, Update ๋ฑ์ Unity์์ ๋ถ๋ฌ์ฃผ๋ Callback์ ์ฐ๊ธฐ ์ํจ์ธ๋ฐ, ๋ณดํต์ Singleton์ ๊ทธ๋ฅ ์ ์ญ ์ํ๋ง ๊ฐ๊ณ ์๋ ๊ฑฐ๋ผ Singleton ์์ฒด๋ MonoBehaviour๋ฅผ ์์๋ฐ์ ํ์๊ฐ ์๊ณ , ๊ทธ๋ฐ ๊ตฌํ์ ๋ง์ด ๋ด์์ ๊ฒ์. ์ ๊ตฌํ์์ ์ ์ ๋ ๊ฒ ํ๋์ง ๋ชจ๋ฅด๊ฒ ๋ค. ๋๋จธ์ง ์ฝ๋๋ฅผ ๋ณด๋ ์ง ํด์ผํ ๋ฏ?
๋ด๊ฐ ์ด๋ณด์ฌ์ ๊ทธ๋ฐ์ง ๋ชฐ๋ผ๋ ๋๋ถ๋ถ ์์๋ฐ์ ๊ฑฐ ๋ฐ์ ๋ชป๋ณธ๋ฏ. ์ฝ๊ฐ ๊ผฌ์ด๋๊ฒ ์ฌํด์ง๊ธด ํ์ง๋ง ๋ค๋ฅธ ๋์ ์๊ฐํด๋ด๋๊ฒ ๋ ๊ณ ํต์ค๋ฌ์์ ๊ฑ ๋ง์ด ์ฐ๋๊ฑฐ๊ฐ์.
์ ๋ค๋ฆญ์ด๋ผ์๊ฐ ์๋. ๋ค๋ฅธ์ฌ๋ก๊ฐ ๊ทธ๋ฐ ๊ฒฝ์ฐ๋ฅผ ์์ ํ์ง ์๊ณ ์ค๊ณํ ๊ฒ๋ฟ์. ์๋๋ฉด ๋ฌธ์ ๊ฐ ์๊ธฐ๊ธฐ ์ ๊น์ง ๋ฌธ์ ๊ฐ ์๋ ๊ฑฐ๋๊น. ๊ทธ ๋ฌธ์ ๋ผ๋ ๊ฑด ํ๋ ์ด๋ชจ๋ ๋๊ฐ๋ ๋๋ค์ผ๋ก ์ค๋ธ์ ํธ๋ค์ด ํ๊ดด๋๋ฉด์ ์์๊ผฌ์ด๋ฉด ์ฃผ์์ ์ธ๊ธ๋ ๊ฒ์ฒ๋ผ ๊ณ ์คํธ์ค๋ธ์ ํธ๊ฐ ์๊ธฐ๋๋ฐ ์ด ๊ณ ์คํธ ์ค๋ธ์ ํธ๊ฐ ์๋ํฐ์ ์ถ๊ฐ๋์ด ๋จ๊ฒ๋จ. ์ฆ, ๊ฐ๋ฐํ๊ฒฝ์์๋ง ์ง์ฆ๋๋ ์ผ์ผ ๋ฟ์ธ ๊ฒ.
๋ค์๋งํด์ ์ ๋ํฐ ๋ฒ๊ทธ ํผํ ๋ ค๊ณ bool ์ฒดํฌํด์ ๋ฆฌํด ๋๋ฆฌ๋ ๊ฒ์ด๋ผ ๋ณธ๋๋ ํ์์๋ ๊ฒ. ์ ๋ฒ๊ทธ๊ฐ 2021์๋ ์ฌ์ ํ ์กด์ฌํ๋ ์ง๋ ๋๋ ๋ชจ๋ฆ
์ํ, ๊ทธ๋ ๊ฒ ์๊ฐํ๋ ํ์คํ ์ฝ๋๋ค๋ง๋ค ์ ๋ค๋ฅธ์ง ์ดํด๋๋ฏ ใณ
์ฑ๊ธํค ์ฐ์ง๋ง๋ผ
๊ณ ์คํธ ์ค๋ธ์ ํธ ์์ฑ๋ฌธ์ ์ธ๋ฐ ๋ชจ๋ ธ์ฑ๊ธํค์ด ๋์คํ ๋ฆฌ ๋๋ ํ๊ฒฝ์ด ๋๋ ์ดํดํ๊ธฐ ํ๋ค์ด์ ๊ตณ์ด?