๋์ผํ ์๋ฃํ(Data Type)์ ๋ฌถ์์ด๋ค.
์ฐ์๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๊ฐ์ ์ ์ฅํ๊ณ ์ฌ์ฉํ๊ธฐ ์ํ ์ฉ๋๋ก ์ฌ์ฉ๋๋ค.
๋ฐฐ์ด์ heap ์์ญ์ new ์ฐ์ฐ์๋ฅผ ํตํด ํ ๋น๋๋ค.
๋ํ ๋ฐฐ์ด์ ๊ธธ์ด๋ ์ต์ด ์ ์ธํ ๊ฐ์ผ๋ก โ๊ณ ์ โ ๋๋ฉฐ, ์ธ๋ฑ์ค๋ฅผ ํตํด ๋ฐ์ดํฐ์ ์ ๊ทผํ ์ ์๋ค.
int arr[] = new int[5];
์ธ๋ฑ์ค๋ฅผ ์ด์ฉํด ์ ๊ทผํ ์ ์๋ค.
์ ์๋ง ๊ฐ๋ฅํ๋ฉฐ, 0๋ถํฐ ์์ํ๊ธฐ ๋๋ฌธ์ ๋ฐฐ์ด์ ํฌ๊ธฐ๊ฐ 5์ผ ์ 0~4๊น์ง์ ์ธ๋ฑ์ค๋ฅผ ํตํด ๋ฐฐ์ด์ ์ ๊ทผํ ์ ์๋ค.
int arr[][] = new int[3][4]
(3ํ 4์ด์ธ 2์ฐจ์ ๋ฐฐ์ด)
์๋ฐ์์๋ ๋ฐฐ์ด์ ๋ชฉ์ ์ ๋ฐ๋ผ ๋ณต์ฌ๋ฅผ ํด์ผ ํ ๊ฒฝ์ฐ๊ฐ ์์ผ๋ฉฐ ์ ํ์ผ๋ก๋ ์์ ๋ณต์ฌ์ ๊น์ ๋ณต์ฌ๊ฐ ์๋ค.
- ์์ ๋ณต์ฌ(shallow copy) : stack ์ ์ฃผ์๊ฐ๋ง ๋ณต์ฌ, ์๋ณธ์ ๊ณต์ ํ ๋ชฉ์
- ๊น์ ๋ณต์ฌ(deep copy) : heap์ ๋ฐฐ์ด์ ์ ์ฅ๋ ๊ฐ์ ๋ณต์ฌ, ์๋ณธ๊ณผ ์ฌ๋ณธ์ ๋ถ๋ฆฌํ์ฌ ๊ด๋ฆฌ ํ ๋ชฉ์
์์ ๋ณต์ฌ๋
stack์ ์ ์ฅ๋์ด ์๋ ๋ฐฐ์ด์ ์ฃผ์๊ฐ๋ง ๋ณต์ฌ
๋์ผํ ๋ฐฐ์ด์ ์ฃผ์๊ฐ
์์ ๋ณต์ฌ๋ ๋ ํผ๋ฐ์ค ๋ณ์ ์์ ๋ด๊ธด ์ฃผ์๊ฐ์ ์๋ก์ด ๋ ํผ๋ฐ์ค ๋ณ์์ ๋ณต์ฌํ๋ ๊ฒ์ด๋ค.
๊น์ ๋ณต์ฌ๋
heap์ ์์ฑ๋ ๋ฐฐ์ด์ด ๊ฐ์ง๊ณ ์๋ ๊ฐ์ ๋ ๋ค๋ฅธ ๋ฐฐ์ด์ ๋ณต์ฌ
๋ค๋ฅธ ๋ฐฐ์ด์๋ ์ํฅ์ ์ฃผ์ง ์๋๋ค
๊น์ ๋ณต์ฌ๋ ์์ ๋ณต์ฌ์ ๋ฌ๋ฆฌ ์๋กญ๊ฒ ํ ๋นํ ํ ์์ญ์ ๊ธฐ์กด ๋ฐฐ์ด์ ๊ฐ์ ๋ณต์ฌํ ํ ์๋กญ๊ฒ ์์ฑ๋ ๋ฐฐ์ด์ ์ฃผ์๊ฐ์ ๋๊ฒจ์ฃผ๋ ๊ฒ์ด๋ค.