¼Ò¼³°°ÀºC#  Á¦2°­ÀÇ Å¬·¡½ºÀÇ ±âº»¹è°æ  10. º¯¼ö, °´Ã¼ ±×¸®°í ÀνºÅϽº  

 

2.10 º¯¼ö, °´Ã¼ ±×¸®°í ÀνºÅϽº

 

 

º¯¼ö(Variable), °´Ã¼(Object), ÀνºÅϽº(Instance)¶ó´Â ¸»Àº °ÅÀÇ ¸ðµç ÇÁ·Î±×·¡¹Ö Ã¥¿¡¼­ ÀÌ¿ëÇϰí ÀÖ½À´Ï´Ù. ÀÌ¹Ì ¾Õ¿¡¼­µµ ¿©·¯ ¹ø ¾²ÀÌ°í ³ª¿Ô¾ú´Âµ¥ ¿©±â¼­ ¹­¾î¼­ Á¤¸®ÇØ º¸°Ú½À´Ï´Ù. À̰͵éÀº ÇÁ·Î±×·¡¹Ö¿¡ À־´Â ¾ÆÁÖ ±âº»ÀÌ µÇ´Â ¿ë¾îµé·Î ÀÚÄ© À߸øÇÏ¸é ¿ë¾î¶§¹®¿¡ ¸¹Àº È¥¼±À» ÃÊ·¡ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¿ë¾îµéÀ» Á¤È®ÇÏ°Ô ÀÌÇØÇÏ°Ô ÇÑ´Ù¸é ±×¸¸Å­ ±âÃʸ¦ ´Ü´ÜÈ÷ ÇÏ´Â ÀåÁ¡ÀÌ ÀÖÀ» °ÍÀÔ´Ï´Ù. ¿©±â¿¡¼­´Â º¯¼ö, °´Ã¼ ±×¸®°í ÀνºÅϽº¶ó´Â ¿ë¾î¿¡ ´ëÇØ¼­ Æ÷°ýÀûÀ¸·Î Á¤¸®Çغ¸°í ±×¿¡ °ü·ÃµÈ Áö½ÄµéÀ» ½ÀµæÇØ º¸µµ·Ï ÇϰڽÀ´Ï´Ù.

 

º¯¼ö, °´Ã¼, ÀνºÅϽºÀÇ ±¸ºÐ

ÀϹÝÀûÀ¸·Î Ŭ·¡½º(Class)·Î ¸¸µç »ç¿ëÀÚÁ¤ÀÇ µ¥ÀÌÅÍŸÀÔ(User Definition Data Type)À̵çÁö °ªÅ¸ÀÔ(Value Type)À̵çÁö °£¿¡, ¿©ÇÏÆ° µ¥ÀÌÅÍŸÀÔÀ¸·Î ¸¸µç À̸§Àº ¸ðµÎ º¯¼ö(Variable)¶ó°í ºÎ¸¦ ¼ö ÀÖ½À´Ï´Ù. °ªÅ¸ÀÔÀº º¯¼öÀÇ À̸§À» ¼±¾ðÇÔ°ú µ¿½Ã¿¡ ¸Þ¸ð¸®°¡ ÇÒ´çµÇÁö¸¸ Ŭ·¡½º´Â º¯¼öÀÇ ¼±¾ð°ú º¯¼ö¿¡ ´ëÇÑ ¸Þ¸ð¸®ÀÇ ÇÒ´çÀÌ ºÐ¸®µÇ¾î ÀÖ½À´Ï´Ù.

 

¢Ã °ªÅ¸ÀÔÀÇ º¯¼ö¿Í Ŭ·¡½º º¯¼ö¿¡ ´ëÇÑ Æ¯Â¡

q                °ªÅ¸ÀÔÀº º¯¼öÀÇ À̸§À» ¼±¾ðÇÔ°ú µ¿½Ã¿¡ ¸Þ¸ð¸®°¡ ÇÒ´ç

q                Ŭ·¡½º´Â º¯¼öÀÇ ¼±¾ð°ú º¯¼ö¿¡ ´ëÇÑ ¸Þ¸ð¸®ÀÇ ÇÒ´çÀÌ ºÐ¸®µÇ¾î ÀÖÀ½

 

¿ì¼± ¾Õ ÀýÀÇ º¹½À Â÷¿ø¿¡¼­ ´ÙÀ½°ú °°ÀÌ Å¬·¡½º¸¦ ¼±¾ðÇÏ°í ¸Þ¸ð¸®¸¦ ÇÒ´çÇÏ´Â ºÎºÐÀ» ºÐÇØÇØ º¸°Ú½À´Ï´Ù.

 

¢Ã Family sister = new Family() ÀÇ ºÐ¼®

q                Family            : Ŭ·¡½º·Î »ý¼ºÇÑ µ¥ÀÌÅÍŸÀÔ

q                sister                                         : Family µ¥ÀÌÅÍŸÀÔÀ¸·Î ¼±¾ðÇÑ º¯¼ö

q                new                                           : ¸Þ¸ð¸®¸¦ »ý¼ºÇÏ´Â ¿¬»êÀÚ

q                Family()         : ¸Þ¸ð¸® »ý¼º ÈÄ ÃʱâÈ­ ÀÛ¾÷À» ´ã´çÇÏ´Â »ý¼ºÀÚ

 

¡®Family sister = new Family();¡¯¸¦ µÎ ÁÙ·Î ³ª´©¾î ±× Àǹ̸¦ »ìÆìº¸°Ú½À´Ï´Ù.

n                 Family sister;                à º¯¼öÀÇ À̸§À» ¼±¾ðÇÑ´Ù´Â Àǹ̸¦ Áö´Õ´Ï´Ù.

n                 sister = new Family(); à ¸¸µç À̸§¿¡ ¸Þ¸ð¸®¸¦ ÇÒ´çÇÑ´Ù´Â Àǹ̸¦ Áö´Õ´Ï´Ù.

 

ÀÌ·¸°Ô µÎ ÁÙÀÇ ÄÚµå·Î ³ª´©¾î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ÇÑ ÁÙ·Î »ç¿ëÇϳª µÎ ÁÙÀ» »ç¿ëÇϳª °á°ú´Â °°½À´Ï´Ù. ÇÏÁö¸¸ ¡®Family sister;¡¯´Â º¯¼öÀÇ À̸§À» ¼±¾ðÇÑ´Ù´Â Àǹ̸¦ Áö´Ï°í ÀÖ½À´Ï´Ù. ±×¸®°í ¡®sister = new Family();¡¯´Â ¸¸µé¾îÁ® ÀÖ´Â À̸§¿¡ ¸Þ¸ð¸®¸¦ ÇÒ´çÇÑ´Ù´Â Àǹ̰¡ ºÎ¿© µÇ¾î ÀÖ½À´Ï´Ù.

 

Ŭ·¡½º º¯¼öÀÇ Á¾·ù

q                ¸Þ¸ð¸®°¡ ÀÖ´Â º¯¼ö

q                ¸Þ¸ð¸®°¡ ¾ø´Â º¯¼ö

Ç¥ 2-7 Ŭ·¡½º º¯¼öÀÇ Á¾·ù

 

ÀÌ·¸°Ô º»´Ù¸é º¯¼öÀÇ ¼±¾ð°ú ¸Þ¸ð¸®ÀÇ ÇÒ´çÀº ¿ÏÀüÈ÷ ºÐ¸® µÇ¾î ÀÖ½À´Ï´Ù. ÇÏÁö¸¸ ¸Þ¸ð¸®°¡ Àְųª ¾ø°Å³ª ¿ì¸®´Â À̰ÍÀ» º¯¼ö¶ó ºÎ¸¨´Ï´Ù. Á¤È®ÇÏ°Ô Ç¥ÇöÇÑ´Ù¸é ¸Þ¸ð¸®°¡ ¾ø´Â º¯¼ö¿Í ¸Þ¸ð¸®°¡ ÀÖ´Â º¯¼ö¶ó°í ¸»ÇÒ ¼ö ÀÖ½À´Ï´Ù.

 

¢Ñ  ¸Þ¸ð¸® À¯¹«ÀÇ ¿¹

Áý¿¡ ÀÖ´Â ¾î¹Ì°³°¡ »õ³¢¸¦ ¹è¼­, ž °­¾ÆÁö¸¦ À§ÇÏ¿© ¡®ÃÊ·ÕÀÌ¡¯¶ó°í À̸§À» ¹Ì¸® Á¤ÇØ µÎ¾úÀ¸¸é, ÀÌ À̸§Àº ž±â Àü¿¡ ¹Ì¸® ¸¸µé¾îµÐ À̸§ÀÔ´Ï´Ù. ±×¸®°í ž ±Í¿©¿î °­¾ÆÁö¿¡°Ô ¡®ÃÊ·Õ¾Æ~ À̸®¿Í¡¯ ÇÏ°í ¸¸µé¾îµÐ À̸§À» ºÎ¸¦ °ÍÀÔ´Ï´Ù. ÀÌ·¸°Ô À̸§Àº ÀÖÁö¸¸, °­¾ÆÁö°¡ ž°í žÁö ¾Ê°í´Â ¾ö¿¬È÷ ´Ù¸¥ °ÍÀÔ´Ï´Ù. ÀÌ·¯ÇÑ Ãø¸é¿¡¼­ º»´Ù¸é, º¯¼öµµ ¸Þ¸ð¸®°¡ »ý¼ºµÇ±â ÀüÀÇ º¯¼ö¿Í ¸Þ¸ð¸®°¡ »ý¼ºµÈ ÈÄÀÇ º¯¼ö·Î ³ª´­ ¼ö ÀÖ´Â °ÍÀÔ´Ï´Ù.

 

¿ì¸®´Â °ªÅ¸ÀÔÀ¸·Î º¯¼ö¸¦ ¸¸µé¾îµµ º¯¼ö¶ó°í Çϰí, Ŭ·¡½º·Î ¸¸µç »õ·Î¿î µ¥ÀÌÅÍŸÀÔÀ¸·Î º¯¼ö¸¦ ¸¸µé¾îµµ º¯¼ö¶ó°í ºÎ¸¨´Ï´Ù. ÇÏÁö¸¸, Ŭ·¡½º¸¦ ÀÌ¿ëÇÏ¿© ¸¸µç º¯¼ö¸¦ ´Ù¸¥ º¯¼öµé°ú ±¸ºÐÇØ ÁÖ±âÀ§Çؼ­ ¡®°´Ã¼(Object) ¶Ç´Â ÀνºÅϽº(Instance)¡¯¶ó´Â ¿ë¾î¸¦ »ç¿ëÇÕ´Ï´Ù.

 

¢Ã °´Ã¼(Object)ÀÇ °³³ä

q                °´Ã¼µµ º¯¼öÀÇ ÇÑ ÇüÅÂÀ̸ç Ŭ·¡½º¿¡¼­ ¸¸µé¾îÁ³´Ù ÇÏ¿© ¡®°´Ã¼ ¶Ç´Â ÀνºÅϽº¡¯¶ó°í ºÎ¸¥´Ù

 

°´Ã¼µµ º¯¼öÀ̱⠶§¹®¿¡ ´ç¿¬È÷ ¸Þ¸ð¸® ÇÒ´çÀÇ ¹®Á¦°¡ ³²¾Æ ÀÖ½À´Ï´Ù. À§ÀÇ °­¾ÆÁöÀÇ ¿¹¸¦ µé¾î ´Ù½Ã ¼³¸íÇÑ´Ù¸é, ž±â Àü¿¡ À̸§À» Á¤ÇصР°Í°ú °°ÀÌ °´Ã¼ÀÇ À̸§¸¸ ¼±¾ðÇÑ´Ù¸é ¡®°´Ã¼º¯¼öÀÇ ¼±¾ð¡¯ À̶ó°í ¸»Çϸç, °­¾ÆÁö°¡ ž °Í°ú °°ÀÌ new ¿¬»êÀÚ¸¦ ÀÌ¿ëÇÏ¿© ¸Þ¸ð¸®±îÁö »ý¼ºÇßÀ¸¸é ¡®°´Ã¼(Object)ÀÇ »ý¼º, ÀνºÅϽº(Instance)ÀÇ »ý¼º¡¯À̶ó°í ÇÏÁÒ. ÀÌ·¸°Ô °´Ã¼°¡ ¸Þ¸ð¸®¸¦ »ý¼ºÇÑ °ÍÀ» ÀνºÅϽº(Instance)°¡ Çϳª ¸¸µé¾îÁ³´Ù°í ¸»ÇÕ´Ï´Ù.

 

°ªÅ¸ÀÔÀ¸·Î Á¤ÀÇÇÑ º¯¼öÀÇ ¸Þ¸ð¸®¿Í, Ŭ·¡½º·Î ¸¸µç º¯¼öÀÇ ¸Þ¸ð¸®¿¡¼­ Á¤È®ÇÏ°Ô ±¸ºÐÇØ¾ßÇÏ´Â °ÍÀº ¸Þ¸ð¸®ÀÇ »ý¼º½ÃÁ¡ÀÔ´Ï´Ù. °ªÅ¸ÀÔÀÇ º¯¼ö´Â, ¼±¾ð°ú µ¿½Ã¿¡ ±× µ¥ÀÌÅÍŸÀÔ¿¡ ÇØ´çÇÏ´Â ¸¸Å­ÀÇ ¸Þ¸ð¸®¸¦ È®º¸ÇÏ´Â °ÍÀÌÁö¸¸, °´Ã¼ÀÇ °æ¿ì¿¡´Â ¼±¾ð¸¸ ÇÏ¿´´Ù¸é À̸§¸¸ ÀÖÀ» »Ó ¾Æ¹« °Íµµ ¾ø´Â °ÍÀ̰í, new ¿¬»êÀÚ¿Í »ý¼ºÀÚ·Î ¸Þ¸ð¸®¸¦ ÇÒ´çÇØ ÁÖ¾î¾ß ÇÏ´Â °ÍÀÔ´Ï´Ù. À̰Ͱú ´õºÒ¾î¼­ ¾ÕÀå¿¡¼­ ¹è¿î °ÍÀ» º¹½ÀÇÏÀÚ¸é, ±âº»µ¥ÀÌÅÍŸÀÔÀÇ º¯¼ö´Â °ªÅ¸ÀÔ(Value Type)ÀÌ¸ç °´Ã¼ÀÇ °æ¿ì¿¡´Â ÂüÁ¶Å¸ÀÔ(Reference Type) ÀÔ´Ï´Ù. À̰Ϳ¡ °üÇØ¼­´Â µÚ¿¡µµ °è¼Ó ´Ù·ç°Ô µÇ´Ï Àß ±â¾ïÇÏ¿© µÎ½Ã±â ¹Ù¶ø´Ï´Ù. Áö±Ý±îÁö º» °ÍÀ» Á¤¸®ÇÏ¿© º¸¸é ¾Æ·¡¿Í °°½À´Ï´Ù.

 

°´Ã¼º¯¼ö, °´Ã¼, instance

°´Ã¼º¯¼ö ¼±¾ð

¸Þ¸ð¸® »ý¼º, ÀνºÅϽº(Instance) »ý¼º

µ¿½Ã¿¡ °´Ã¼º¯¼ö ¼±¾ð°ú »ý¼º

Family sister;

sister = new Family();

Family sister = new Family();

Ç¥ 2-8 °´Ã¼º¯¼ö, °´Ã¼, ÀνºÅϽº

 

º¯¼ö´Â µ¥ÀÌÅ͸¦ ´ã´Â ±×¸©Àε¥ µ¥ÀÌÅ͸¦ ´ã±â À§Çؼ­´Â ¸Þ¸ð¸®°¡ Àִ°¡ ¾ø´Â°¡ÀÇ ¹®Á¦´Â ¾ÆÁÖ Áß¿äÇÕ´Ï´Ù. °ªÅ¸ÀÔÀÏ °æ¿ì¿¡´Â º¯¼ö ±× ÀÚü°¡ ¸Þ¸ð¸®¸¦ Â÷ÁöÇϰí ÀÖ´Ù´Â ´À³¦ÀÌ