์ต๊ทผ๋ค์ด ๊ฒ์ ํ๋ก๊ทธ๋๋ฐ ๋์์ธ ํจํด์ ๋ํด์ ๊ณต๋ถ ์ค์ ๋๋ค. ํฅ๋ฏธ๋ก์ด๊ฒ ๋๋ฌด๋๋ฌด ๋ง๋๋ผ๊ตฌ์.
๊ทธ๋ฌ๋ ์์ค ๊ถ๊ธํ ๊ฒ์ด ์๊ฒจ ๊ณ ์๋ถ๋ค์ ์กฐ์ธ์ ์ป๊ณ ์ ์ง๋ฌธ๋๋ฆฝ๋๋ค ใ ใ
๊ฒฝ๋ํจํด์ ๊ด๋ จํด์ ์ ์ดํด๊ฐ ๊ฐ์ง ์๋๋ฐ, ์ด๊ฒ ์ด๋ค ๊ฐ๋ ์ด๊ณ ์ ์ฌ์ฉํ๋์ง๋ ์ ์๊ฒ ์ต๋๋ค.
๊ทธ๋ ๋ค๋ฉด ์ ๋ํฐ์์ ์ ๊ณตํ๋ ์คํฌ๋ฆฝํฐ๋ธ ์ค๋ธ์ ํธ๋ ๊ฒฝ๋ํจํด์ ์ผ๋ถ๋ผ๊ณ ์ดํดํด๋ ๊ด์ฐฎ์๊ฑด๊ฐ์?
๊ฐ๋ น ๋งต ํ์ผ์ ์์ฑํจ์ ์์ด์ ํ์ผ์ ๋ํ TileInfo๋ย ์คํฌ๋ฆฝํฐ๋ธ ์ค๋ธ์ ํธ๋ฅผ ์์ฑํ๊ณ ,
int a = 5, int b = 10; ์ด๋ฐ ์์ผ๋ก ์์ฑํด ์ค ํ
ํ์ผ ์คํฌ๋ฆฝํธ๋ก ๋ค์ด๊ฐ์
Class Tile
public TileInfo tileInfo;
private int a;
private int b;
public Tile()
{
this.a = tileInfo.a;
this.b = tileInfo.b;
}
์ด๋ฐ์์ผ๋ก ๊ตฌํํ๋ค๋ฉด, ์ด๊ฒ๋ ๊ฒฝ๋ํจํดํ ํ๊ฑด๊ฐ์??
์ด๋ฐ์์ผ๋ก ์ฐธ์กฐํ๋ฉด ๋ ์ ๊ฐ์ ๋ง๋ ๊ฒ ๊ฐ์์ ์๋๊ฒ ๊ฐ๊ธฐ๋ ํ๊ณ ์๋ฆฌ์กํด์ ์ฌ์ญ์ต๋๋ค ใ ใ
์๋๋ฏํจ.. ๊ฒฝ๋ํจํด์ด ๋ญ์ง๋ ๋ชฐ๋ผ๋ ์ธ์คํด์ค์ ํฌ๊ธฐ๋ฅผ ์ค์ด๋ ค๊ณ ๊ณต์ ๋๋ ๋ฐ์ดํฐ๋ฅผ ์ธ์คํด์คํ ํ์ง ์๊ณ ์ธํฌ ๊ฐ์ฒด๋ฅผ ์ด์ฉํ๊ฒ ํ๋๊ฑด๋ฐ ๊ตณ์ด ๋ฉค๋ฒ๋ณ์๋ก ๋ฐ๋ก ๋ฑ๋กํ๋ฉด ๊ทธ๋ฐ ์ด์ ์ด ์๋๋ฏ.์ฐจ๋ผ๋ฆฌ ํ๋กํผํฐ ํํ๋ก ๋ฉ์๋๋ก ์ฐ๊ฒฐํด์ฃผ๋ฉด ์ข์๋ฏ
ํด๋น ๋๊ธ์ ์ญ์ ๋์์ต๋๋ค.
์ ๊ทธ๋ฌ๋ฉด ์ง๊ธ ์์ ๋ด์ฉ๊ณผ ๊ฐ์ ๊ฒ ์๋๊ฐ์?? ํ๋กํผํฐ int a ๊ฐ ์กด์ฌํ๋ ๊ฒ ๋ถํฐ๊ฐ ๋ฉ๋ชจ๋ฆฌ ๊ฐ์ ์ก์๋จน์ง ์๋์??
์ ๋ง๋ค์! ๊ทผ๋ฐ ๊ทธ๋ฐ ์์ผ๋ก ํด๋ ๊ฒฐ๊ตญ ๋ณ์์๋ค ๊ฐ์ ์ ์ฅํ์ง ์๋์..? ์ ๊ฐ ์๋ชป ์๊ณ ์์๋๋ณด๋ค์,,, ใ ใ
๋ ์ด๋ฐ์์ผ๋ก ์ class Actor { ActorTemplate template; HP ; MaxHP => template.MaxHP }
ํ ํ๋ฆฟ์ ๊ณตํต์ ๋ณด๊ฐ ๋ค ๋ค์ด์๊ณ ์ด๋ฐ ํ ํ๋ฆฟ์ json์ผ๋ก ์ธ๋ถ์์ ๋ก๊ฒจ ์. ๊ฐ ํด๋์ค๋ ๋ณํ๋ ๊ฐ๋ง ๋ฐ๋ก ๊ฐ์ง๋๊ฑฐ
๊ทผ๋ฐ ์์ง ์ด๊ฑธ ํจํด์ด๋ผ ๋ถ๋ฅด๋๊ฒ ์ข ์ด์ํ์ง ์๋
๋ ๋๋ง ํ์ดํ๋ผ์ธ์ ๊ฑฐ์ ๋ฌด์กฐ๊ฑด ๋ค์ด๊ฐ๋ ํจํด์ธ๋ฐ ์๋ ๊ฑฐ ์์?
ํจํด์ค์ ์ด๊ฑธ ๊ตณ์ด ์ด๋ฆ๋ถ์ฌ์ผํ๋? ์ถ์๊ฒ ์ฌ๋ฌ๊ฐ ์๊ธด ํ๋ฐ ๊ตฌ์ฒดํ์ํค๋๊ฒ ์์ฒด๋ง์ผ๋ก๋ ๊ฐ์น๊ฐ ํฌ๋ค๊ณ ์๊ฐํจ
c#์์ ์ธ์ ๋ณต์ฌ๊ฐ ๋๋์ง ์ธ์ ์ฐธ์กฐ๊ฐ ๋๋์ง๋ถํฐ ์ฐพ์๋ด struct๋ primitive type์ ๋ณต์ฌ๊ณ classํ์ ์ ์ฐธ์กฐ๋๊น class A { int a; } A a = new A(); A b = new A() a.a = b.a;