º¯¼ö¿¡ µ¥ÀÌÅ͸¦ ³Ö´Â °ÍÀ» ¿ì¸®´Â ÇÒ´ç(Assignment)À̶ó°í ÇÕ´Ï´Ù. ÇÒ´çÀÇ ¹ýÄ¢Àº ¡®º¯¼ö¸¦ ¼±¾ðÇÏ°í ³ ÈÄ, º¯¼ö¿¡ °ª(µ¥ÀÌÅÍ, »ó¼ö)À» ³Ö´Â´Ù¡¯ ¶ó°í ¸»ÇÒ ¼ö ÀÖ½À´Ï´Ù. À̶§ ÀÌ¿ëµÇ´Â ¿¬»êÀÚ°¡ ¹Ù·Î ¡®=¡¯ ¿¬»êÀÚÀÔ´Ï´Ù. ¡®=¡¯ ¿¬»êÀÚ´Â Á÷Á¢ÇÒ´ç(Direct Assignment)ÀÇ Àǹ̸¦ °¡Áö°í ÀÖÀ¸¸ç À̰ÍÀº º¯¼ö¿¡ °ªÀ» ³Ö´Â´Ù´Â Àǹ̸¦ °¡Áö°í ÀÖÁö¸¸ ¡®=¡¯ ÀÚü¿¡¼ dz±â´Â ¸ÀÀº ¹Ù·Î µ¥ÀÌÅÍŸÀÔ¿¡ ¸Â´Â ÇüÅÂÀÇ °ªÀ» ³Ö¾î¾ß ÇÑ´Ù´Â Àǹ̸¦ °¡Áö°í ÀÖ½À´Ï´Ù.
ÇÒ´çÀÇ ±âº» ¹ýÄ¢
º¯¼ö¿¡ »ó¼ö¸¦ ÇÒ´çÇÏ´Â ¹æ¹ý·Ðµµ ¿©·¯ °¡Áö°¡ ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ¹æ¹ýÀ» ¾Ë¾Æ º¸µµ·Ï ÇϰڽÀ´Ï´Ù. °¡Àå ±âº»ÀûÀÎ ¹æ¹ýÀº ´ÙÀ½°ú °°½À´Ï´Ù.
|
¢Ã ÇÒ´çÀÇ ±âº» |
|
q ¿À¸¥ÂÊ¿¡¼ ¿ÞÂÊÀ¸·Î¸¸ ÇÒ´çÀÌ °¡´É (Àý´ëÀû) q º¯¼ö³¢¸®µµ ÇÒ´çÀÌ °¡´É (¿À¸¥ÂÊ¿¡¼ ¿ÞÂÊÀ¸·Î ÇÒ´ç) q º¯¼ö¿¡ ÀÌ¹Ì »ó¼ö°¡ Á¸ÀçÇØµµ ´Ù¸¥ °ÍÀ» ÇÒ´çÇÏ¸é ¸¶Áö¸·¿¡ ÇÒ´çÇÑ °ÍÀÌ ÇÒ´ç |
¿ì¸®´Â ½±°Ô ÇÒ´çÀ» ÇÏÁö¸¸ ±× ±âº»¿ø¸®´Â Ç×»ó Àֱ⠸¶·ÃÀÔ´Ï´Ù. À§ÀÇ ±ÔÄ¢Àº ³Ê¹« ´Ü¼øÇϸ鼵µ ²À ÁöÄÑÁö°í ÀÖ´Â ±ÔÄ¢ÀÔ´Ï´Ù. À§ÀÇ ±ÔÄ¢À» ÀÌ¿ëÇÑ ¸î °¡Áö ¿¹¸¦ »ìÆìº¸µµ·Ï ÇϰڽÀ´Ï´Ù.
1 ÇÒ´çÀÇ ¿¹
n ¼±¾ð°ú ÇÒ´çÀ» µ¿½Ã¿¡ à int a=100;
n ¼±¾ð°ú ÇÒ´çÀ» ºÐ¸® à int a; a=100;
n ¿©·¯ °³¸¦ µ¿½Ã¿¡ ¼±¾ð°ú ÇÒ´ç à int a=100, b=200;
n ºÐ¸®ÇÏ¿© ¿©·¯ °³¸¦ µ¿½Ã¿¡ ¼±¾ð°ú ÇÒ´ç à int a, b; a=100; b=200;
n º¯¼ö³¢¸®ÀÇ ÇÒ´ç à int a=100, b; b=a;
À§ÀÇ ¼ö½Ä¿¡¼ ¿ì¸®´Â Áö±Ý±îÁö ¼³¸íÇÑ ¸ðµç °ÍÀ» ´Ù ¹àÈ÷°í ÀÖ½À´Ï´Ù. ¼±¾ðÇÏ´Â ¹æ¹ý°ú ¼±¾ð°ú µ¿½Ã¿¡ ÇÒ´çÇÏ´Â ¹æ¹ý µî ÇÒ´ç°ú ¼±¾ðÀÇ ¹æ¹ýÀÌ ¸î °¡Áö Á¸ÀçÇÏÁö¸¸ ¸ðµÎ °°Àº ¹æ½ÄÀ̸ç À§ÀÇ ±ÔÄ¢À» µû¸£°í ÀÖ½À´Ï´Ù. ¸¸¾à ´ÙÀ½°ú °°Àº ¿¹¸¦ º»´Ù¸é ÇÒ´çÀÇ ¿ÏÀüÇÑ ¹ýÄ¢À» ÀÌÇØ ÇÒ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.
1 ÇÒ´çÀÇ ±âº» ¹ýÄ¢ÀÇ ¿¹
n int sum = 10 ;
n sum = sum + 20 ;
À§ÀÇ ¿¹¿¡¼ sumÀº ¿ÞÂʰú ¿À¸¥ÂÊ ¸ðµÎ Á¸ÀçÇÕ´Ï´Ù. ÇÏÁö¸¸ ¿À¸¥ÂÊ¿¡¼ ¿ÞÂÊÀ¸·Î ÇÒ´ç µÇ±â ¶§¹®¿¡ ¡®sum + 20¡¯ÀÌ ¸ÕÀú ÀÛ¾÷ÀÌ ÀÌ·ç¾îÁø µÚ, ÃÖÁ¾ÀûÀ¸·Î sum¿¡ ó¸®µÈ °á°ú°¡ ÇÒ´çµÇ´Â °ÍÀÔ´Ï´Ù. ÀÌ·¯ÇÑ ¿ø¸®¿¡ µû¶ó ó¸®ÇÏ¸é °á°ú°ªÀº ´ç¿¬È÷ 30À¸·Î ³ª¿À´Â °ÍÀ» ÁüÀÛÇÒ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ²À ÃʵîÇб³ »ê¼ö¸¦ ¹è¿ì´Â ±âºÐÀÌ µå´Â±º¿ä.
±×¸®°í ÇÁ·Î±×·¡¸Ó°¡ º¯¼ö¸¦ »ý¼ºÇϰí ÃʱⰪÀ» ÇÒ´çÇÏÁö ¾Ê¾ÒÀ» °æ¿ì ÄÄÇ»ÅͰ¡ ÀÚµ¿À¸·Î ÃʱⰪÀ» ÁöÁ¤ÇÕ´Ï´Ù. ÀÚ! ±×·³ ¾î¶² °ªµéÀÌ ¿À´ÂÁö º¼±î¿ä?
1 º¯¼öÀÇ default°ª
n Á¤¼ö ŸÀÔ : 0
n ºÎµ¿¼Ò¼ö ŸÀÔ : 0.0
n char : null ¹®ÀÚ(\u0000)
n decimal : 0.0
n bool : false
|
¢Ñ Specification Âü°í |
All value types implicitly declare a public parameterless instance constructor called the default constructor. The default constructor returns a zero-initialized instance known as the default value for the value type. C# ½ºÆåÀÇ ¿ø¹®À» º¸¸é À§¿Í °°Àº ±¸¹®ÀÌ ³ª¿É´Ï´Ù. °ªÅ¸ÀÔÀÇ º¯¼ö¸¦ ¼±¾ðÇÏ¸é µðÆúÆ® °ªÀÌ ÇÒ´çµÈ´Ù´Â ÀǹÌÀÔ´Ï´Ù. ±×¸®°í Default Constructor¶ó´Â ¸»ÀÌ ³ª¿É´Ï´Ù. ¹°·Ð, °ªÅ¸ÀÔÀº ¸Þ¸ð¸®¸¦ »ý¼º½ÃŰ´Â new ¿¬»êÀÚ¸¦ »ç¿ëÇÏÁö ¾Ê°í º¯¼ö¸¸ ¼±¾ðÇÏ¸é ¹Ù·Î ¸Þ¸ð¸®°¡ »ý¼ºµË´Ï´Ù. ÇÏÁö¸¸ ³»ºÎÀûÀ¸·Î new ¿¬»êÀÚ¸¦ »ç¿ëÇÏ¿© ÀÚµ¿À¸·Î ¸Þ¸ð¸®¸¦ »ý¼º½ÃŰ´Â Default Constructor¶ó´Â °ÍÀÌ ÀÖ½À´Ï´Ù. °ªÅ¸ÀÔÀº ¸Þ¸ð¸®ÀÇ »ý¼ºÀÇ ÀÚµ¿È ¶§¹®¿¡ °ªÅ¸ÀÔ(Value Type)À̶ó°í ºÎ¸¨´Ï´Ù. ±×¸®°í ÀÌ·¯ÇÑ ¸Þ¸ð¸®°¡ ÀÚµ¿À¸·Î »ý¼ºµÇ¾úÀ» ¶§ °ªÅ¸ÀÔ º¯¼öµéÀº ±âº»°ªÀ» °¡Áö°Ô µË´Ï´Ù. ´ÙÀ½°ú °°Àº ±¸¹®À» °¨»óÇØ º¸½Ã±â ¹Ù¶ø´Ï´Ù. class A { void F() { int i = 0; int j = new int(); } } ÀÌ·¯ÇÑ ÀÇ¹Ì ¶§¹®¿¡ °ªÅ¸ÀÔ(Value Type)µéÀ» ÂüÁ¶Å¸ÀÔ(Reference Type)À¸·Î º¯È¯ÇÒ ¼ö ÀÖ´Â ¹æ¹ý·ÐÀÌ Á¦±â µÇ°í ±×¸®°í ´Ù½Ã º¯È¯ µÈ °´Ã¼¸¦ °ªÅ¸ÀÔ(Value Type)À¸·Î ¿ªº¯È¯ ÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù. À̰ÍÀ» Boxing°ú UnBoxingÀ̶ó°í ºÎ¸¨´Ï´Ù. |
±×·³ ÇÒ´ç¿¡ °ü·ÃµÈ ¿¹Á¦¸¦ Çϳª º¸µµ·Ï ÇÏÁÒ. ´ÙÀ½ÀÇ ¿¹Á¦´Â 0ºÎÅÍ 99±îÁöÀÇ ÇÕÀ» Ãâ·ÂÇÏ´Â ÇÁ·Î±×·¥ÀÔ´Ï´Ù. sumº¯¼ö¿Í i º¯¼öÀÇ ¿ªÇÒÀ» Áö±Ý±îÁö ¹è¿î °ÍÀ» ÀÌ¿ëÇØ¼ °üÂûÇØ º¸½Ã±â ¹Ù¶ø´Ï´Ù.
|
& |
AssignmentTest.cs |
Ü ÇÒ´çÀ» ÀÌÇØÇϱâ À§ÇÑ ¿¹Á¦ |
|
using System; public class AssignmentTest { public static void Main() { int sum = 0; for (int i=0; i<100; i++) { sum = sum + i; } Console.WriteLine("0~99ÀÇ sum:"+ sum); }//main }//class | ||
|
C:\C#Example\01>csc AssignmentTest.cs C:\C#Example\01>AssignmentTest 0~99ÀÇ sum:4950 | ||
º° °Í ¾ø´Â ¿¹Á¦ÀÔ´Ï´Ù. ´ÜÁö ¿©±â¼´Â ¾ÆÁ÷ »ìÆìº¸Áö ¾ÊÀº ¹Ýº¹¹®ÀÎ for¹®ÀÌ ³ª¿Ô´Âµ¥ À̰ÍÀº º¯¼ö i ¿¡ 0ºÎÅÍ 99±îÁöÀÇ °ªÀ» ¹Ù²Ù¾î°¡¸ç ÇÒ´çÇØ ÁÖ´Â °ÍÀÔ´Ï´Ù. ±×·³ sum¿¡¼´Â ¡®sum = sum + i¡¯ ¶ó´Â ±× °ªÀ» Â÷°îÂ÷°î ¸ð¾Æ¼ ¸Ç ¸¶Áö¸·¿¡ °á°ú°ªÀ» Ãâ·ÂÇØ ÁÖ°í ÀÖ½À´Ï´Ù. ÀÌ Á¤µµ¿¡¼ ÇÒ´çÀÇ ¼³¸íÀ» ¸¶Ä¡°í ¸Þ¼µå¸¦ ¾Ë¾Æ º¸µµ·Ï ÇϰڽÀ´Ï´Ù.
| jabookÀúÀÚ¸íÇÔ |
|
Á¦¸ñ:¼Ò¼³°°ÀºC# Á¦1°ÀÇ ÀúÀÚ:ÃÖ¿µ°ü |