¼Ò¼³°°ÀºC#  Á¦1°­ÀÇ C#ÀÇ ±âÃÊ  11. ÇÒ´ç(Assignment)  

 

 

1.11 ÇÒ´ç(Assignment)

 

º¯¼ö¿¡ µ¥ÀÌÅ͸¦ ³Ö´Â °ÍÀ» ¿ì¸®´Â ÇÒ´ç(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°­ÀÇ
ÀúÀÚ:ÃÖ¿µ°ü