์๋ฅผ ๋ค์ด TestData๋ผ๋ ํด๋์ค๊ฐ ์์ด์
TestData Aย = new TestData() { data1 = 5 };
์ด๋ ๊ฒ ์ฒ์์ ์ ์ธํ๊ณ
TestData B = A; ๋ผ๊ณ ๋ ๋ฒ์งธ ํด๋์ค๋ฅผ ์ ์ธํจ
๊ทธ๋ฐ๋ฐ ์ด ๊ฒฝ์ฐ
B.data1 = 2;
์ด๋ฐ์์ผ๋ก ๊ฐ์ ๋ณ๊ฒฝํ ๊ฒฝ์ฐ
A์ ๊ฐ๊น์ง ๋ณ๊ฒฝ๋์์.
์ํ๋๊ฑด ๋งจ ์ฒ์ ์ ์ธ๋ A์ ๋ฐ์ดํฐ๋ค์ B๋ก ์ฎ๊ธฐ๋ ๊ทธ ํ์ B์์ ๊ฐ์ ์์ ํ ๊ฒฝ์ฐ A์๋ ์ํฅ์ด ๋ฏธ์น์ง ์๊ฒ๋ ํ๋ ์ฝ๋์ผ.
C# ํ๋ ์ฌ๋์ด๋ผ๋ฉด ๋น์ฐํ ์์์ผ๋๋ ๊ฒ์ธ ๊ฒ ๊ฐ๊ธด ํ๋ฐ ๋ด๊ฐ ์ ๋๋ก ๋ฐฐ์ด๊ฒ ์๋๋ผ
์ ํํ ์ฉ์ด๋ ๋ฌด์์ธ์ง ๋ชฐ๋ผ์ ์ด์ ๋ํ ๊ฑธ ๋ชป์ฐพ๊ณ ์์...
Dictionary๊ฐ์ ๊ฒฝ์ฐ๋ Dictionary<~> B = new Dictionary<~>(A) ์ด๋ฐ์์ผ๋ก ํ๋ฉด ๋๋๋ฐ
Class์ ๊ฒฝ์ฐ๋ ์ด๋ป๊ฒ ํด์ผ๋๋๊ฐ
์๋ ๊ธฐ์ด์ ์ธ ์ง๋ฌธ์ด๋ผ ๋ถ๋๋ฝ...
์ ๋ํฐ ์ฌ์ฉํ๋ ์ค์ธ๋ฐ
๋ฐ์ดํฐ๋ค Dictionary๋ก ์ ๋ถ ๋๋ ค๋ฐ์ย ๊ด๋ฆฌํ๋ค
Dictionary๋ ํค๊ฐ์ด ์๋ชป์ ๋ ฅ๋๋ฉด ์ด๋์ ์๋ฌ๊ฐ ๋ฌ๋์ง๋ฅผ ์ถ์ ์ ๋ชปํ๋๋ผ
๊ทธ๋์ Class๋ก ๊ด๋ฆฌํ๊ฒ๋ ์ ๋ถ ๋ฐ๊พธ๋ ค๊ณ
์ฒ์์ ์ด๊ฑธ ์์์ ๋ ๋ฐ๊ฟจ์ด์ผํ๋๋ฐ ๊ด์ฐฎ๊ฒ ์ง ํ๋ฉด์ ์งํํ๋ค๊ฐ ๊ดํ ์์ ํ ย ์๋ง ์์ฒญ ๋์๋ค
https://blog.naver.com/alsehdgus13/221112208486
์ผ๋ง์ ์ ๋ค์๊ฑด๋ฐ ๋ณต์ฌ์์ฑ์ ์ฐ์๋ผ๊ณ ํฉ๋๋น
์ํ ์์ฑ์๋ฅผ ๋ ๊ฐ ๋ง๋ค์ด์ ํ ์ชฝ์์ ์ด์ ํด๋์ค๋ฅผ ๋งค๊ฐ๋ณ์๋ก ๋ฃ์ด์ ์ฎ๊ธฐ๋ ๋ฐฉ์์ด๊ตฐ์
๋งค๊ฐ๋ณ์๊ฐ ๋ค๋ฅธ ๊ฐ์ ๋ฉ์๋๋ฅผ ๋ง๋๋ ๊ฑธ ์ค๋ฒ๋ก๋๋ผ๊ณ ํ๋๊ฐ, ์์ฒด์ ์ผ๋ก๋ ๊ธฐ๋ฅ์ด ์๋๋ณด๋ค์...
๊ฐ์ฌํฉ๋๋ค. ๋ณ์๊ฐ ๋ง์ผ๋ฉด ๊ทธ๋งํผ ๋ค ์ ์ด์ ์ฎ๊ฒจ์ผ๋๋ ๊ทธ๊ฑด ์ข ๊ท์ฐฎ๊ฒ ๋ค์. ํ...
์ ๋ง๊ธ์ฒ๋ผ ๋ณต์ฌ ์์ฑ์๋ฅผ ๋ง๋ค๊ฑฐ๋ clone๋ฉ์๋๋ฅผ ๋ง๋ค์
clone ๋ฉ์๋ ์์์ ๊ฐ์ฒด ์์ฑํ๊ณ , ์ผ์ผ์ด ๋ชจ๋ ํ๋, ์์ฑ ๋์ ํ ๋ค์ ๋ฐํํ๋๊ฑฐ์
์ ๋ํฐ์์ ํ๋๊ฑฐ๋ฉด ํด๋น ํด๋์ค ๊ฐ์ฒด ์ง๋ ฌํ๋ฅผ ํด์ผํ๋ ๊ฒฝ์ฐ๊ฐ ์๊ธฐ์์? ๊ทธ๋ฌ๋ฉด ์ง๋ ฌํ->์ญ์ง๋ ฌํ ๋ฐ๋กํ๋ฉด
clone๋ฉ์๋ ๊ตฌํ์์ด ๋ฐ๋ก ๊น์ ๋ณต์ฌ๊ฐ ๊ตฌํ๋จ
ใด ์ง๋ ฌํ, ์ญ์ง๋ ฌํ๋ ์ฝ์คํธ๊ฐ ๋๋ฌด ํฌ๋ค ์๋?
scriptableObject๋ก ๊ด๋ฆฌํด
Clone์ด๋๊ฒ๋ ์๊ตฐ์. using System ์ถ๊ฐํ๊ณ ICloneable ๋ถ์ด๊ณ , public object Clone()์ ์ถ๊ฐํด์ ๊ตฌํํ๋ค. ๋ณต์ฌํ ๋ B = A.Clone() As TestData
๊ฐ๊ธ์ ์ด๋ฉด ICloneable์ธํฐํ์ด์ค๋ ์ฌ์ฉํ์ง ์๋๊ฒ ์ข์
iCloneable ์ฐ๋ฉด ๋ชจ๋ ํ์ํด๋์ค๋ง๋ค ํด๋ก ๋ฐฉ์ ์ผ์ผ์ด ์ฌ์ ์ํด์ค์ผ ํด์ ๋ณ๋ฃจ... ์ง๋ ฌํ/์ญ์ง๋ ฌํ๊ฐ ์ฒด๊ณ ์ธ๋ฏ