์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ์ œ ๋‹ต๋ณ€์ด ๋ชจํ˜ธํ•˜๊ณ  ํ˜ผ๋ž€์Šค๋Ÿฌ์šด ์ ์„ ์ธ์ •ํ•ฉ๋‹ˆ๋‹ค. ์ •ํ™•ํ•œ ์„ค๋ช…์„ ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

List๋Š” ์ฐธ์กฐ ํƒ€์ž…์ž…๋‹ˆ๋‹ค. List๋ฅผ ๋‹ค๋ฅธ List์— ํ• ๋‹นํ•  ๋•Œ, List์˜ ์š”์†Œ๋“ค์€ ๋ณต์‚ฌ๋˜์ง€ ์•Š๊ณ  ๊ฐ™์€ ๋ฉ”๋ชจ๋ฆฌ ์œ„์น˜๋ฅผ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ๋ฐ”๋กœ ์–•์€ ๋ณต์‚ฌ(Shallow Copy)์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋‘ List๋Š” ๊ฐ™์€ ๊ฐ์ฒด๋ฅผ ๊ฐ€๋ฆฌํ‚ค๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ•œ List๋ฅผ ๋ณ€๊ฒฝํ•˜๋ฉด ๋‹ค๋ฅธ List๋„ ์˜ํ–ฅ์„ ๋ฐ›์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ๋‹ค์Œ๊ณผ ๊ฐ™์ด List๋ฅผ ๋ณต์‚ฌํ•˜๋ฉด ์–•์€ ๋ณต์‚ฌ๊ฐ€ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค.

csharpCopy code
List<int> list1 = new List<int> { 1, 2, 3 };
List<int> list2 = new List<int>(list1);
list1[0] = 100; // list1์„ ๋ณ€๊ฒฝํ•˜๋ฉด list2๋„ ์˜ํ–ฅ์„ ๋ฐ›์Œ
Console.WriteLine(list2[0]); // ์ถœ๋ ฅ ๊ฒฐ๊ณผ๋Š” 100

๋”ฐ๋ผ์„œ List์˜ ๊ฒฝ์šฐ ์š”์†Œ๊ฐ€ ๊ฐ’ ํ˜•์‹์ด๋“  ์ฐธ์กฐ ํ˜•์‹์ด๋“  ์ƒ๊ด€์—†์ด ์–•์€ ๋ณต์‚ฌ๊ฐ€ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค. ์š”์†Œ๋“ค์ด ๋ฉ”๋ชจ๋ฆฌ์˜ ๊ฐ™์€ ์œ„์น˜๋ฅผ ์ฐธ์กฐํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.




์ ์  ๋” ์‹ ๋ขฐ๊ฐ€ ์•ˆ๊ฐ€์„œ 4.0์„ ์“ฐ๋“ ์ง€ ๊ทธ๋ƒฅ gptํ•œํ…Œ ์ด๋Ÿฐ๊ฑฐ ๋ฌผ์–ด๋ณด์งˆ ๋ง๋“ ์ง€ ํ•ด์•ผ๋  ๊ฒƒ ๊ฐ™์€๋ฐ


์ €๋Ÿฐ๊ฑฐ 4.0์€ ๋ฌด์กฐ๊ฑด ๋งž๊ฒŒ ๋Œ€๋‹ตํ•จ?


์ด์ƒˆ๋ผ์ง„์งœ ๋‹ต๋„์—†๋Š”๊ฒŒ ์ €๊ฑฐ ์ฐ์–ด๋ณด๋ฉด ์ถœ๋ ฅ ๊ฒฐ๊ณผ 1์ž„