๐ Garbage-Collection
๐ซ Q
๊ฐ๋น์ง์ ๋ํ์ฌ
- GC์ ๋ํด ์ค๋ช ํด๋ด๋ผ
- GC ์ต์ ํ๋ฅผ ์ํด ํ ์์๋์ผ์ ๋ฌด์์ด ์์์ง ์ค๋ช ํด๋ด๋ผ
- GC์ ์ฅ์ ๊ณผ ๋จ์ ์ ๋ํด ์ค๋ช ํด๋ด๋ผ
- ์ธ๋๋ณ ๊ฐ๋น์ง ์ปฌ๋ ์
- Unity
Instantiate/Destroy
๋ฅผ ๋ฐ๋ณต์ ์ผ๋ก ์ฌ์ฉํ๋ฉด ๋ฉ๋ชจ๋ฆฌ ์ฆ๊ฐ- -> ์ค๋ธ์ ํธ ํ ์ฌ์ฉ
๐ซ Garbage
ํ๋ก๊ทธ๋จ์ด ๋์ ์ผ๋ก ํ ๋นํ ๋ฉ๋ชจ๋ฆฌ ์ค์์ ๋ ์ด์ ์ฌ์ฉํ์ง ์๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ฐ๋น์ง๋ผ๊ณ ํ๋ค.
๊ฐ๋น์ง๋ ํ๋ก๊ทธ๋จ์ ์ฑ๋ฅ์ ์ ํ์ํค๊ณ ๋ฉ๋ชจ๋ฆฌ ๋์๋ฅผ ๋ฐ์์ํฌ ์ ์์ผ๋ฏ๋ก ๊ฐ๋น์ง ์ปฌ๋ ์
์ ํตํด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํด์ ํด์ฃผ์ด์ผ ํ๋ค.
๐ซ GC
๋์ ์ผ๋ก Garbage
๋ฅผ ์๋์ผ๋ก ํ์งํ๊ณ ํด์ ํ๋ ๋ฉ๋ชจ๋ฆฌ ๊ธฐ๋ฒ.
์ด๋ ๋ฉ๋ชจ๋ฆฌ ๋์์ ๊ฐ์ ๋ฌธ์ ์ ์ ๋ฐฉ์งํ์ฌ ํ๋ก๊ทธ๋จ์ ์์ ์ฑ๊ณผ ์ฑ๋ฅ์ ํฅ์ํ๋ ๋ฐ ์ฌ์ฉํ๋ค.
๐ซง ์ธ๋๋ณ GC
์ธ๋๊ฐ ๋ฎ์ ๋ฉ๋ชจ๋ฆฌ๋ถํฐ ๋ฉ๋ชจ๋ฆฌ ํด์ ๋ฅผ ํด์ค ๋ค์ ๋ฉ๋ชจ๋ฆฌ ์ปดํ์ ์ ํด์ค๋ค.
- 0์ธ๋ : GC๋ฅผ ํ๋ฒ๋ ๊ฒช์ง ์์ ๊ฐ ์์ฑ๋ ๊ฐ์ฒด๊ฐ ๋์
- 1์ธ๋ : GC๋ฅผ 1ํ ๊ฒช์ ๊ฐ์ฒด๊ฐ ๋์
- 2์ธ๋ : GC๋ฅผ 2ํ ์ด์ ๊ฒช์ ๊ฐ์ฒด๊ฐ ๋์(์ ์ฒด๋ฅผ ์๋ฏธ)
- 2์ธ๋ GC๋ฅผ ํ ์ Full Garbage Collection์ด๋ผ ํ๊ณ ์ ์ฒด Heap์ ๋ํ์ฌ GCํ๋ ๊ฒ์ ์๋ฏธํ๋ค.
- 2์ธ๋ GC๋ฅผ ํ ์ Full Garbage Collection์ด๋ผ ํ๊ณ ์ ์ฒด Heap์ ๋ํ์ฌ GCํ๋ ๊ฒ์ ์๋ฏธํ๋ค.
๐ซง ์ธ๋๋ฅผ ๋๋๋ ๊ทผ๊ฑฐ
- ์ต๊ทผ์ ์์ฑ๋ ๊ฐ์ฒด์ผ์๋ก ์๋ช ์ฃผ๊ธฐ๊ฐ ์งง์ ๊ฐ๋ฅ์ฑ์ด๋๊ณ , ์ค๋๋ ๊ฐ์ฒด์ผ์๋ก ์๋ช ์ฃผ๊ธฐ๊ฐ ๊ธธ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค.
- ์ต๊ทผ์ ์์ฑ๋ ๊ฐ์ฒด๋ผ๋ฆฌ๋ ์๋ก ์ฐ๊ด์ฑ์ด ๋์ ์ ์์ผ๋ฉฐ, ๋น์ทํ ์์ ์ ์์ฃผ ์ก์ธ์ค ๋ฉ๋๋ค.
- ์ผ๋ถ๋ถ Heap์ ๋ํด GC๋ฅผ ํ๋ ๊ฒ์ด ์ ์ฒด GC๋ฅผ ํ๋ ๊ฒ ๋ณด๋ค ๋น ๋ฆ
๋๋ค.
๐ซง ์ธ์ด์์
- ๋งค๋์ง๋ ์ธ์ด (GC ์ง์)
- C# : .NET ํ๋ ์์ํฌ์์ ์คํ.
- ์ธ๋งค๋์ง๋ ์ธ์ด
- C++ : ์ง์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํ๊ณ ํด์ .
- C++ : ์ง์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํ๊ณ ํด์ .
์ด ๊ธฐ์ฌ๋ ์ ์๊ถ์์ CC BY 4.0 ๋ผ์ด์ผ์ค๋ฅผ ๋ฐ๋ฆ
๋๋ค.