๊ฐ€๋” ์œ ๋‹ˆํ‹ฐ ๊ต์žฌ๋ฅผ ๋ณด๋ฉด Boxing ์œผ๋กœ ์ฒ˜๋ฆฌ ํ•˜์ง€ ์•Š์•„๋„ ๋˜๋Š”๋ฐ Boxing์œผ๋กœ ์ฒ˜๋ฆฌํ•œ ๋ถ€๋ถ„์ด ๊ฐ„ํ˜น ๋ณด์ธ๋‹ค.

์•„๋งˆ Boxing์˜ ์žฅ์ ์„ ์„ค๋ช…ํ•˜๊ณ  ์‹ถ์–ด ์‚ฌ์šฉํ–ˆ๊ฒ ์ง€๋งŒ ๋‹จ์ ์— ๋Œ€ํ•ด์„œ๋Š”ย ์„ค๋ช…์ด ์—†๊ธฐ์— ํ•œ๋ฒˆ ์จ๋ณด๊ฒ ๋‹ค.

Boxing ์ด๋ž€?


int a = 5; ๊ฐ€ ์žˆ๊ณ 

CallFunc(a); ๋ผ๋Š” ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•ด์„œ a๋ฅผ ๋„˜๊ฒจ๋ณด์ž.


CallFunc(object obj)

{

//๊ตฌํ˜„๋ถ€๋ถ„

}


๋งค๊ฐœ๋ณ€์ˆ˜ obj ๊ฐ€ int ํ˜•์ด ์•„๋‹ˆ๋ผ object ์ฐธ์กฐํ˜•์ด๋‹ค.


๊ฐ„๋‹จํ•˜๊ฒŒ

int a = 5;

object obj= a;

์ด ๋‘์ค„์ด Boxing ๊ณผ์ •์ด๋‹ค.


Boxing ์œผ๋กœ ์ฝ”๋“œ๊ฐ€ ์ค„์–ด๋“ค์ง€๋งŒ ์„ฑ๋Šฅ์ด ๊ฐ์†Œํ•œ๋‹ค.

ํŽธํ•˜๊ฒŒ ์ฝ”๋”ฉ์„ ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด Boxing์„ ์‚ฌ์šฉํ•˜์ž.

์„ฑ๋Šฅ์„ ์ƒ๊ฐํ•œ๋‹ค๋ฉด Boxing์„ ์‚ฌ์šฉํ•˜์ง€๋ง๊ณ  Overloading์„ ์‚ฌ์šฉํ•˜์ž.


Console.WriteLine() ๋˜ํ•œ ์„ฑ๋Šฅ์„ ์œ„ํ•ด Boxing ๋Œ€์‹  ํ•จ์ˆ˜ ์˜ค๋ฒ„๋กœ๋”ฉ์„ ํƒํ–ˆ๋‹ค.


Example.)

public static void WriteLine(bool value);

public static void WriteLine(char value);

...... ๋“ฑ



์ถœ์ฒ˜.

https://docs.microsoft.com/ko-kr/dotnet/csharp/programming-guide/types/boxing-and-unboxing