๋ช๊ฐ์ง ์ ๋ณด๋ฅผ ๋ด์ Class Information ์์ฑํจ
List<Information> information = new List<Information>();
tempClass = new Information();
์๋ ๊ฒ ๋ง๋ค๊ณ
for (int i=0; i<anotherList.Count; i++)
{
tempClass.a = anotherList[i];
tempClass.bย = anotherAnotherList[i];
information.Add(tempClass);
}
์ด๋ ๊ฒ tempclass๋ฅผ ํตํด ๊ฐ์ ์ฃผ๊ณ ๋์ information๋ฆฌ์คํธ๋ก ์ถ๊ฐํด์ฃผ๋๊ฑธ ๋ฐ๋ณต๋ฌธ์ ํตํด ์ฌ๋ฌ๋ฒ ์คํํ์ด
๊ทธ๋ฌ๋ฉด information์๋ Information ์ธ์คํด์ค ์ฌ๋ฌ๊ฐ๊ฐ ๊ฐ๊ธฐ ๋ค๋ฅธ๊ฐ์ ๋ด๊ณ ์์ด์ผ ๋๋ค๊ณ ์๊ฐํ๋๋ฐ, ๊ทธ๋ ์ง๊ฐ ์๋๋ผ๊ณ
๋งจ ๋ง์ง๋ง tempClass์ ๊ฐ์ด information[0 ~ i]๊น์ง ๋ค ๋ฎ์ด์์์ ธ ๋ฒ๋ฆฌ๋๋ผ
information[0]๋ถํฐ [i]๊น์ง ๋ค ๋ฌ๋ผ์ผ ๋๋ค ์๊ฐํ๊ฑฐ๋
์ด๊ฑฐ ์ด๋ป๊ฒ ํด๊ฒฐํด์ผํ ๊น
์ง๋ฌธ ์ฐ๋ค๋ณด๋ tempclass๋ฅผ ๋ฏธ๋ฆฌ ๋ง๋ค์ง๋ง๊ณ ํฌ๋ฌธ ์์์ new Information(); ํ๋ฉด ๋ ๊ฑฐ๊ฐ๊ธฐ๋ ํ๋ฐ ํ์ฌ ํ์ฌ๋ผ ํ์ธ๋ถ๊ฐ
C# ์์๋ค ๋ต๋ณ์ข...
tempClass๋ฅผ ๋ฐ๋ณต๋ฌธ ์์์ ์๋ก ํ ๋นํด์ผ ๋ค๋ฅธ ์ธ์คํด์ค๊ฐ ๋ค์ด๊ฐ์ง ์ง๊ธ์ ๋ฐ๋ณต๋ฌธ ๋ฐ์์(๋๋ฒ์งธ์ค) ์์ฑ๋ ํ๋์ ์ธ์คํด์ค๋ง ๊ฐ์ง๊ณ ๊ฐ ์กฐ์ ํ๊ณ ๋ฆฌ์คํธ์ ๋ฃ์ผ๋ ๊ฐ์๊ฐ๋ง ๋์ค์ง
๋ ๋ฆฌ์คํธ์ ๋ค์ด๊ฐ๋ ์๋ก์ด ์ธ์คํด์ค๊ฐ ๋ง๋ค์ด์ง๋์ค ์์์ ใ ใ
https://blog.penjee.com/passing-by-value-vs-by-reference-java-graphical/
c#์์
class๋ reference๋ก ๋ค๋ค์ง๊ณ , struct๋ value๋ก ๋ค๋ค์ง. reference ํ์ ์ธ tempClass๋ฅผ ํ๋ฒ๋ง new ํ์ผ๋ ํ๊ฐ๋ง ์กด์ฌํ๋๊ฑฐ์
์ค ์๋ฒฝํ๊ฒ ์ดํดํ๋คใ ใ ใ ใ ๊ณ ๋ง๋ค!!
struct๋ ์๊ธฐ๋ ์๋๋ฐ ์๋์? ์๋ฒฝํ๊ฒ ์ดํดํ๋ค๋๋ 100% ์ดํด๋ชปํ๋ค
class๋ reference๋ก ๋ค๋ค์ง๊ธฐ๋๋ฌธ์ ๊ฐ ๋ฆฌ์คํธ์์๋ tempClass๋ผ๋ ์ธ์คํด์ค๋ฅผ ์ฐธ์กฐ๋ง ํ๊ฒ๋๋ค๊ณ ๋ณด๋ฉด ์ ํ์์ด ๋ฑ ๋ค์ด๋ง์ง ๊ฐ ๋ฆฌ์คํธ์ ํ ๋นํ ๋๋ง๋ค ์ ์ธ์คํด์ค๋ฅผ ๋ง๋ค์ด์ฃผ๋ฉด ์๋ฒฝํ ํด๊ฒฐ
์ ๊ฑด ๊ทธ๊ฑฐ๋ ์๊ด ์๋ ์๊ธด๋ฐ struct๋ ์ ์ด์ ๊ฐ์์ ์ ๋ชปํ๊ฒ ๋ง์ง๋ง ๋ค๋ฅธ valueํ์ ์ด์ด๋ ๋๊ฐ ์ง ์ฝ๋์ฒ๋ผํ๋ฉด ๋๊ฐ์
๊ทธ๋ฐ๊ฐ? int a ํ ๋นํด๋๊ณ ํฌ๋ฌธ์์์ a=1 list.Add(a) ์ฌ๋ฌ๋ฒ ๋ฐ๋ณตํ๋ฉด ๋ง์ฐฌ๊ฐ์ง๋ก ๋ง์ง๋ง์ ํ ๋นํ๊ฐ์ผ๋ก ๋ฆฌ์คํธ ๊ฝ์ฑ์์ง๋๊ฑฐ์?
int๋ struct๋ผ์ ์ด๊ฑด ์์ธ์ธ๊ฑด๊ฐ?
์ด ์๋ ๋ด๊ฐ ์ง๋ฌธ์ ๋์ถฉ๋ด ใ ใ
๊ทผ๋ฐ struct๋ ๊ฒฐ๊ณผ ๋๊ฐ์
์๋๋ค struct๋ ๋ค๋ฆ ๊ฐ์์ ๋ชปํด์ ์ด์ฐจํผ new์์ฑํด์ผํ๋
struct ๊ฐ์์ ์ ์๋ชปํด ใ ใ ใ struct๋ก ์์ฝ๋ ๋๋ฆฌ๋ฉด ์์๋ณ๋ก ๊ฐ ๋ค ๋ค์ด๊ฐ
๋ณ์๋ฅผ ์ด๋์ ์ ์ธํ๊ฑด์ง ๋ชจ๋ฅด๊ฒ ์ง๋ง ํจ์๋ฐ์์ ์ ์ธํ๊ฑฐ๋ฉด ๊ฐ์์ ๋ชปํ๊ณ ์ ๋ถ new๋ก ๋ค ๋ค๋ฅธ ๊ฐ์ด ๋ค์ด๊ฐ๋๋ฐ ํจ์์์์ ์ ์ธํ๊ฑฐ๋ฉด ์ ๋ถ ๋๊ฐ์ ๊ฐ์ผ๋ก ๋ค์ด๊ฐ๋ค
๊ทธ๋ฆฌ๊ณ ํจ์๋ฐ์์ ์ ์ธํ๊ฑฐ๋ฉด ๋ด๋ถ๊ฐ ์์ ๋ชปํ๋ค
์๋ ๋์ฒด ๋ฌด์จ์๋ฆฌ์ผ ใ ใ ใ ์ฝ๋๋ ๋๋ ค๋ณด๊ณ ๋ฌธ์๋ ์ข ์ฝ์ด๋ด... ๊ทธ๊ฑฐ ์๋์ผ...
๋ญ์๋ฆฐ์ง ์ดํด ๋ชปํ๋ฉด ๋ฌธ์ ๋ค์ ํ๋ฒ ์ฝ๊ณ ํ ์คํธ๋ก ์ฝ๋ ๋๋ ค๋ด
๊ตฌ์กฐ์ฒด ๋ฆฌ์คํธ์ ๋ฃ์ผ๋ฉด ๋ณต์ฌ ๋ค์ด๊ฐ์ ๋ฉ๋๋ค ๊ฐ์ ์์ ๋ชปํ๋ค๋๊ฑด ์ข ์๋ชป ์ดํดํ๊ฑฐ๊ฐ์๋ฐ ์ง๊ธ ์ ํจ์ ์ค์ฝํ ์, ๋ฐ๋ณต๋ฌธ ์ค์ฝํ ๋ฐ์์ ์ ์ธํ tempClass๊ฐ ๊ตฌ์กฐ์ฒด๋ผ๊ณ ๊ฐ์ ํ ๋ .a .b๋ก ์ ๊ทผํด์ ๊ฐ ์์ ํ ์ ์์ ์ด ์์ ๊ตฌ์กฐ์ฒด ๊ฐ์ฒด๋ฅผ ๋ฆฌ์คํธ์ ๋ฃ์ผ๋ฉด ๊ทธ ์ํ๊ฐ์ ๊ฐ์ง๊ฒ ๋ณต์ฌ๋์ด ๋ค์ด๊ฐ๋ ์๊ฐ ์ํ๋ ์๋ ํจ
๋ค๋ค ๊ณ ๋ง๋ค ๋๋ฌด ์ธ์ฐ์ง๋ง์ ์ดํดํ์