ย int a = 10;
์ด๋ฐ์์ผ๋ก C# ํด๋์ค ์์ ๋ณ์ ์ด๊ธฐํ ํ์ ๋ Start ํจ์์์ ์ด๊ธฐํ ํ๋๊ฒ ์๋๋ฉด ๋ฉ๋ชจ๋ฆฌ ์์ ์์ฌ๋ผ๊ฐ์๋ ์ํ์ธ๊ฑฐ์ผ?
ย int a = 10;
์ด๋ฐ์์ผ๋ก C# ํด๋์ค ์์ ๋ณ์ ์ด๊ธฐํ ํ์ ๋ Start ํจ์์์ ์ด๊ธฐํ ํ๋๊ฒ ์๋๋ฉด ๋ฉ๋ชจ๋ฆฌ ์์ ์์ฌ๋ผ๊ฐ์๋ ์ํ์ธ๊ฑฐ์ผ?
์ ์ญ๋ณ์๋ผ์ ๋ฐ์ดํฐ ์์ญ์ ์ฌ๋ผ๊ฐ ์๋๊ฑฐ ์๋?
๋๋ ๊ทธ๋ฐ์ค ์์๋๋ฐ ์ฝ๋๊ฐ ๋ด์๊ฐ๋๋ก ์งํ ์๋ผ์ ๋๋ฒ๊น ํด๋ดค๋๋ฐ null ์ฒดํฌํ๋ if๋ฌธ์์ null์ธ๊ฑธ๋ก ๋์ด๊ฐ๋๋ผ
ํน์ ๋ณ์ ์๋ฃํ์ด ๋ญ์?
๋ด๊ฐ ๋ง๋ ๊ฒ์๋งค๋์ ํด๋์ค์. ๊ทผ๋ฐ ๊ทธ๋ฅ ์ธํ๋ฐ ๊ฐ์์ ์๋ ์ฝ๋ ๋ณต๋ถํด์ ๋ฌธ์ ๋ ํด๊ฒฐ๋์
๊ทธ๋ฌ๋ฉด ์ง๊ธ GameManager a = new GameManager(); ์ด๋ฐ ์ํ์?
static GameManager s_instance; ์ด๋ฐ์ํ์
ํด๋์ค ๋ณ์๋ ๋จ์ํ ์ ์ธ๋ง ํ๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก null๊ฐ์ด ๋ค์ด๊ฐ์์ ๋ชจ๋ ธ๋นํค์ด๋น์ด๋ฅผ ์์๋ฐ์ง ์๋ ํด๋์ค๋ผ๋ฉด class a = new class(); ํ์์ผ๋ก ์ด๊ธฐํ ๊ฐ๋ฅํจ ๊ทผ๋ฐ ๊ฒ์๋งค๋์ ๋ผ๋ฉด ๋ณดํต ์์๋ฐ์ํ ๋๊น Start์ชฝ์์ ๋ฃ์ด์ค์ผํ ๋ฏ
ํด๋์ค๋ผ์ ๊ทธ๋ ๊ตฌ๋ ใณใณ
ํด๋์ค๊ฐ new๋ ๋ ์ด๊ธฐํ ๋๊ฒ ์ฃ