์ค๋งํธ ํฌ์ธํฐ๊ฐ delete ์ํด๋ ์ฌ์ฉ๋๋๋ฉด ์๋์ผ๋ก ํด์ ํด์ค์ ํธํ๊ฑด๋ฐ
์ธ๋ฆฌ์ผ์ ์ด์ฐจํผ ๊ฐ๋น์ง์ฝ๋ ํฐ๋ก ์์์ ์ ํด์ฃผ์ง ์๋?
์ค๋งํธ ํฌ์ธํฐ๊ฐ delete ์ํด๋ ์ฌ์ฉ๋๋๋ฉด ์๋์ผ๋ก ํด์ ํด์ค์ ํธํ๊ฑด๋ฐ
์ธ๋ฆฌ์ผ์ ์ด์ฐจํผ ๊ฐ๋น์ง์ฝ๋ ํฐ๋ก ์์์ ์ ํด์ฃผ์ง ์๋?
์ฌ๋ฌ ์ด์ ๊ฐ ์๋๋ฐ, ์ผ๋จ gc์ ํด๋นํ๋๊ฒ์ UObject ์์ ํด๋์ค๋ง ํด๋น๋;ใ
๊ทธ๋ฆฌ๊ณ gc์ ์ง์์ ์ผํ๋๋ฐ ์์ง์์ง์๋์์ด ์ ๋ถ UPROPERTY ๋ณ์๊ฐ ํ๋ํ๊ณ ์๋ค๋ฉด ๋ ํผ๋ฐ์ค ์นด์ดํ ์ด ๋์ด์ ์์ง์์ง, ๊ทธ๋์ ์ค๋งํธํฌ์ธํฐ TWeakObjPtr์ ์ฌ์ฉํ ๋๊ฐ ์์
์ธ๋ฆฌ์ผ gc๋ mark and sweep๋ฐฉ์์ด๋ผ ๋ ํผ๋ฐ์ค ์นด์ดํ ์ด๋ ๊ด๊ณ์์ง์์? ์ง์ง ๋ชฐ๋ผ์ ๋ฌผ์ด๋ด
๊ทธ์ธ์, ๋งค๋์ ํด๋์ค๋ค์ UObj์์ ์์ด ๋ค์ดํฐ๋ธ c++ ํด๋์ค๋ก ๋ง๋ฌ, ์๋ค๋ฅผ ๊ด๋ฆฌํ ๋ TSharedPtr ๋ณ์๋ก ํ๋ํด์ฃผ๊ณ ๋ค๋ฅธ ํด๋์ค๊ฐ ์ ์ ์บ์ํ ๋, TWeakPtr ์ฐ๋๊ฑฐ
gc์ฟจํ์๋์์ด์ ์ง์ฐ๊ณ ์ถ์ ํ์ด๋ฐ ์กฐ์ ๋ ์ด์ ๋ผ๊ณ ๋ค์ - dc App