๋ณ์ ๊ฐ์ด ์ป๋๋ ๊ณต๋ถ๋ ์ ๋๋ก ์ํ ๋จธ์ ๋ฆฌ ์ทจ๊ธ ํ๊ธธ๋ ๊ธฐ๋ถ ๋๋น ์ ํ์คํ๊ฒ ์ฌ๋ฆผ
์๋ฅผ ๋ค์ด ๋ฆฌ์กํธ์์ ์ปดํฌ๋ํธ์ ์ธ์๋ฅผ ์ ๋ฌํด์ค๋
<componentName val1={1}, val2={2}, name1={text1}, name3={text2}>์ด๋ฐ ์์ผ๋ก ์ธ์๋ฅผ ์ ๋ฌํ๊ณ ์ฐ๋ ์ชฝ์์ porb์ด๋ผ๋ ๋ณ์๋ก ํ๊บผ๋ฒ์ ๋ฐ์์
console.log(prob.val1)//1์ถ๋ ฅ
console.log(prob.name3)//text2์ถ๋ ฅ
์ด๋ฐ์์ผ๋ก ์ธ์ ์๋ค
๊ทธ๋์ c#์์๋ ์ด๋ฐ ๊ธฐ๋ฅ์ ์๋๊ฐ? ๋ผ๋๊ฒ ๋ด ์๋ฌธ์ ์ด์๊ณ
ํจ์์ชฝ์
func(๋ฐ์ดํฐ ํ์ sample){
Debug.log(sample.val1 + sample.val2)//3์ถ๋ ฅ
Debug.Log(sample.name1)//text1์ถ๋ ฅ
}
ํธ์ถ์ชฝ์
func({1, 2, "text1", "text2"})์ ๊ฐ์ด ์ค๊ดํธ ๋ฐ์๋ก ๋ฌถ์ด์ ๋์ ์ฃผ๋ ํํ๋ก ์ธ์ ์๋ ๊ธฐ๋ฅ์ด ์๋๊ฐ ๋ด ์ง๋ฌธ์ด์๋ค.
๋ค์ ์ฐพ์๋ณด๋ params๊ฐ object ํํ๋ก ๋ฐ์ผ๋ฉด ๋ด๊ฐ ์ํ๋ ๊ธฐ๋ฅ์ ๊ตฌํ ํ๋๋ผ ๋๋ int๋ง ๋ฐ๋์ค ์์๋ค params๊ฐ
์์ผ๋ก๋ ๋ณ์ ์ทจ๊ธ ์๋นํ๊ณ ์ถ์ผ๋๊น ์ง๋ฌธ๊ธ ๊ผญ๊ผญ ํ๊ธ์ ํ๊ธ์ ์ ์ฑ์ค๋ฝ๊ฒ ๋ ์คํด์ ์ฌ์ง ์๋๋ก ์ฐ๋๋ก ํ๊ฒ ๋ค. ๋ฏธ์ํ๋ค.
๋ญ์ง ๋ ํท๊ฐ๋ฆฌ๋ค ๋ฆฌ์กํธ๋ฅผ ํด๋ณธ์ ์ด ์์ด์ ์ผ๋จ ์์ ๋ฌธ๋จ๋ง์ ๋ดค์๋ ์ด๋ ํ ๋ฐ์ดํฐ๋ฅผ ๋ชจ์๋ ํด๋์ค๋ฅผ public์ผ๋ก ๋ง๋ค์ด์ ๋ณ์๋ฅผ ์ฃ๋ค public static ๋ถ์ด๋ฉด ๋ค๋ฅธ ํด๋์ค์์ ํด๋์ค์ด๋ฆ.๋ณ์ ์ ํํ๋ก ์ธ์ ์์ ์๋ ๋ฌธ๋จ์ ์ธ์๋ก ํด๋์ค๋ฅผ ๋ฐ๋๊ฑฐ๋ผ๊ณ ๊ฐ์ ํ๋ฉด ์๋ ๊ธ์ ์จ๋์ Collection Initializers๋ฅผ ์ฐ๋ฉด ๋ ๋ฏ?
์ฌ์ค ๋ฆฌ์กํธ๊ฐ ๊ฐ๋ณ์ผ๋ก ์ธ์๋ฅผ ๋ค๋๋ ค๋ฐ์์ ์ธ์ ์๋๊ฒ ํน์ดํ๊ฑฐ๊ณ ๋ฐ์ ๋ฌธ๋จ์ด ํต์ฌ์ธ๋ฐ ๋ฐ์ ๊ณ ๋์จ๊ฐ ๋ด๊ฐ ์ํ๋ ๋ฐฉ๋ฒ์ ์๋ ค์คฌ๋ค. ใณใณ
Collection Initializers๊ฐ ์๋์ ๋งํ๊ฑฐ๋ ๋์ผํ๊ฑฐ๊ธด ํ๋ฐ.. ์ด์จ๋ ์์์ผ๋ฉด ๋์
๊ทธ๋ฌ๊ฒ ์ฐพ์๋ณด๋ ๊ฐ์๊ฑฐ๋๋ผ ์ฒ์๋ค์ด๋ด์ ๋ญ์ง ๋ชฐ๋์
Function(int v1, int v2, string nam1, string nam2){} ๋ก ์ ์ธํด์ Function(1,2,"1","2")๋ก ๋ณด๋ด์ฃผ๋ Function(Data data){}๋ก ์ ์ธํด์ Function(new Data{v1=1,v2=2,nam1="1",nam2="2"})์ด๋ฌ๋ฉด ๋๋๊ฑฐ์๋?
์ฒซ๋ฒ์งธ๊ฑด ๊ฐ๋ ์ฑ ๋๋ฌธ์ ์ฐ๊ธฐ ์ซ์์์ ๋งค๊ฐ๋ณ์ ๋ง์์ง๋ฉด ๋ณด๊ธฐ๋ ๋ถํธํ๊ณ ๊ทธ๋ฆฌ๊ณ ๋๋ฒ์งธ๊ฑฐ๊ฐ ์ ๊ฐ ์ํ๋ ๋ต์ด๊ตฐ์ ๋กํ ๋น์ ์ด ์ต๊ณ ์ผ