¼Ò¼³°°ÀºÀÚ¹Ù1ºÎ  2Àå. ±âº» Ŭ·¡½º Á¦ÀÛ  ±¸Á¶Ã¼»ý¼º  

2.2 ±¸Á¶Ã¼·Î µ¥ÀÌÅÍŸÀÔÀ» »ý¼ºÇÏ´Â ¹æ¹ý

2.2.1 ±¸Á¶Ã¼¶õ?

 ±¸Á¶Ã¼´Â Ç¥ÁØ C¿¡¼­ Ŭ·¡½º°¡ ¾ø´ø ½ÃÀý¿¡ »õ·Î¿î µ¥ÀÌÅÍ Å¸ÀÔÀ» ¸¸µå´Â ¿ªÇÒÀ» ´ã´çÇϰí ÀÖ¾ú½À´Ï´Ù. ÇöÀç ¿ì¸®°¡ ¾ð±ÞÇÑ µ¥ÀÌÅÍ Å¸ÀÔÀº ºÐ¸íÈ÷ Çϳª¸¸ÀÇ µ¥ÀÌÅ͸¦ ´ãÀ» ¼ö ÀÖ´Â µ¥ÀÌÅÍ Å¸ÀÔÀÔ´Ï´Ù. ¡°int a=3¡± À̶ó°í ÇßÀ» ¶§ ¿ì¸®´Â a¶ó´Â º¯¼ö¿¡ ´Ù¸¥ ¼ö¸¦ ´ã°íÀÚ ÇÑ´Ù¸é 3Àº »ç¶óÁö°í ¸¿´Ï´Ù. a=5¶ó°í ÇßÀ» ¶§ a¿¡ µé¾î ÀÖ´ø 3Àº ¾ø¾îÁö°í ´Ù½Ã 5¶ó´Â ¼ö°¡ aÀÇ ¸Þ¸ð¸®¿¡ ÀÚ¸®¸¦ Àâ°Ô µË´Ï´Ù. ÀÌ·¯ÇÑ Ãø¸é¿¡¼­ ±âº» µ¥ÀÌÅÍ Å¸ÀÔÀÇ ¹®Á¦Á¡Àº ´Ü ÇϳªÀÇ µ¥ÀÌÅ͸¦ ³ÖÀ» ¼ö ÀÖ´Ù´Â °ÍÀÔ´Ï´Ù.

 

µ¥ÀÌÅÍ Å¸ÀÔÀÌ 2°³ÀÇ ¼ö¸¦ ´ãÀ» ¼ö ÀÖ´Ù°í ÇÑ´Ù¸é ¾î¶³±î¿ä? Ç¥ÁØ C(ANSI C)¾ð¾î¿¡¼­´Â À̸¦ ±¸Á¶Ã¼¶ó´Â °ÍÀ» »ç¿ëÇÏ¿© ÇØ°áÇϰí ÀÖ½À´Ï´Ù. ¹°·Ð, ÀÚ¹Ù¾ð¾î¿¡¼­´Â »ç¿ëÇÏÁö ¾ÊÁö¸¸ ±¸Á¶Ã¼ÀÇ Àǹ̴ °´Ã¼¾ð¾îÀÇ ¿ª»ç¸¦ ¸»ÇØ ÁÖ°í Àֱ⠶§¹®¿¡ ±¸Á¶Ã¼¿¡ ´ëÇØ ¾à°£ÀÇ Áö½ÄÀ» °¡Áö°í ÀÖÀ¸¸é ÀÚ¹Ù¾ð¾î°¡ ¾î¶°ÇÑ ±¸Á¶·Î µÇ¾î ÀÖ´ÂÁö ½±°Ô ÀÌÇØ ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±¸Á¶Ã¼ÀÇ Á¤È®ÇÑ ¹®¹ý±¸Á¶´Â ¾Ë Çʿ䰡 ¾ø½À´Ï´Ù. ´Ü¼øÈ÷ ¾Æ ÀÌ·¸°Ô ¸¸µå´Â±¸³ª Á¤µµ¸¦ ÀÌÇØ ÇÏ½Ã¸é µË´Ï´Ù. ÀÏ´Ü ±¸Á¶Ã¼ÀÇ ¿¹¸¦ »ìÆì º¸µµ·Ï ÇϰڽÀ´Ï´Ù.

 

 

2.2.2 ±¸Á¶Ã¼¸¦ ¸¸µå´Â ¹æ¹ý

Ŭ·¡½º·Î µ¥ÀÌÅÍ Å¸ÀÔÀ» ¸¸µç´Ù°í Çß½À´Ï´Ù. ±¸Á¶Ã¼´Â µ¥ÀÌÅÍŸÀÔÀ» »ý¼ºÇÏ´Â µ¥ÀÌÅÍ Å¸ÀÔ »ý¼º±â ¿ªÇÒÀ» Çϰí Àֱ⠶§¹®¿¡ Ŭ·¡½º¿Í °°Àº ·¹º§¿¡ Á¸ÀçÇÕ´Ï´Ù. ±×·¡¼­ ±¸Á¶Ã¼´Â Ŭ·¡½º¿Í µ¿±ÞÀÔ´Ï´Ù. ±¸Á¶Ã¼´Â ¿Ïº®ÇÏ°Ô Å¬·¡½º¿Í ±× Àǹ̴ °°½À´Ï´Ù. ±×¸®°í Ãʱ⠱¸Á¶ ¶ÇÇÑ Å¬·¡½º¿Í ¾ÆÁÖ Èí»çÇÕ´Ï´Ù. ±¸Á¶Ã¼ÀÇ À§Ä¡´Â ¾Æ·¡¿¡¼­¿Í °°ÀÌ Á¦ÀÏ À§¿¡ Á¸ÀçÇÕ´Ï´Ù.

 

±¸Á¶Ã¼, µ¥ÀÌÅÍ Å¸ÀÔ, º¯¼ö, »ó¼öÀÇ ±¸Á¶

±¸Á¶Ã¼

µ¥ÀÌÅÍ Å¸ÀÔ

º¯¼ö

»ó¼ö

¹«

¹« Á¸Àç

Á¸Àç

½ÇÁ¸

 

±¸Á¶Ã¼·Î µ¥ÀÌÅÍ Å¸ÀÔÀ» »ý¼ºÇÏ´Â ¿¹¸¦ »ìÆì º¸°Ú½À´Ï´Ù.

 

±¸Á¶Ã¼ »ç¿ëÀÇ ¿¹

struct PERSON             
{
   int   age;                
   long  height;
   float weight;
} family_member;            

   struct PERSON sister;     // C style structure declaration
   PERSON brother;         // C++ style structure declaration 

   sister.age  = 13;           // assign values to members
     brother.age =  7;¡¡

ÀÚ¹Ù¾ð¾î´Â C++ÀÇ ¹®¹ý ±¸Á¶¸¦ µû¸£°í ÀÖÀ¸¸ç C++´Â C¾ð¾î¸¦ ±â¹ÝÀ¸·Î Çϰí ÀÖ½À´Ï´Ù. C¾ð¾îÀÇ ±¸Á¶Ã¼´Â C++¿¡ ¿Í¼­ ¿ÏÀüÇÏ°Ô ´Ù¸¥ ¸ð½ÀÀÎ class¶ó´Â À̸§À¸·Î ¹ßÀüÇÏ¿© ¿ø·¡ÀÇ ±¸Á¶Ã¼¿Í °øÁ¸ÇÏ°Ô µË´Ï´Ù. ÇöÀç ¼Ò°³µÇ´Â C, C++¹®¹ýÀ» Àß »ìÆì º¸¸é ƯÁ¤ÇÑ RuleÀ» ãÀ» ¼ö ÀÖÀ» °Ì´Ï´Ù. ±×¸®°í ÀÌ·¯ÇÑ RuleÀº ÀÚ¹Ù¾ð¾î¿¡¼­µµ ±×´ë·Î »ç¿ëÇÏ°Ô µË´Ï´Ù.

 

À§ÀÇ ±¸Á¶Ã¼¿¡ ´ëÇÑ ¿¹¸¦ Çϳª¾¿ µûÁ® º¸µµ·Ï ÇÏÁÒ. ±¸Á¶Ã¼¶ó´Â °ÍÀº ¾Õ¿¡ structÀ̶ó´Â Ű¿öµå¸¦ »ç¿ëÇÕ´Ï´Ù. ±×¸®°í À̸§À» ÁöÁ¤ÇÕ´Ï´Ù. PERSONÀ̶ó´Â À̸§À¸·Î ±¸Á¶Ã¼¸¦ ¸¸µç´Ù´Â Àǹ̰ÚÁÒ. ±×¸®°í ±× ³»ºÎ¿¡´Â 3°³ÀÇ º¯¼ö¸¦ Æ÷ÇÔÇϰí ÀÖ½À´Ï´Ù. structŰ¿öµå¸¦ ÀÌ¿ëÇÏ¿© 3°³ÀÇ º¯¼ö¸¦ ¹­¾î¼­ PERSONÀ̶ó°í ºÎ¸£°Ú´Ù´Â °ÍÀÔ´Ï´Ù. Çϳª¾¿ ºÐÇØÇØ¼­ º¸¸é ´ÙÀ½°ú °°½À´Ï´Ù.

 

µ¥ÀÌÅÍ Å¸ÀÔ°ú º¯¼ö¿Í »ó¼öÀÇ ±¸Á¶

n         struct : ±¸Á¶Ã¼¸¦ ¸¸µå´Â Ű¿öµå

n         PERSON : ±¸Á¶Ã¼·Î ¸¸µé¾îÁø »õ·Î¿î µ¥ÀÌÅÍ Å¸ÀÔ

n         int age : PERSON ³»ºÎÀÇ ¸â¹ö

n         int height : PERSON ³»ºÎÀÇ ¸â¹ö

n         int weight : PERSON ³»ºÎÀÇ ¸â¹ö

 

ÀÌ ºÎºÐ¿¡¼­ ±¸Á¶Ã¼¿¡ ´ëÇØ Çò°¥¸®Áö ¾Ê°Ô ÀÌÇØ¸¦ Àß ÇØ¾ß °ÚÁÒ. ±¸Á¶Ã¼´Â »õ·Î¿î ÇüÅÂÀÇ µ¥ÀÌÅÍ Å¸ÀÔÀ» ¸¸µå´Â ¿ªÇÒÀ» ÇÕ´Ï´Ù. ÀÌ·¯ÇÑ Á¡¿¡¼­ ±¸Á¶Ã¼´Â Ŭ·¡½º¿Í °°Àº ¿ªÇÒÀ» ÇÕ´Ï´Ù. ¿©±â¼­ PERSONÀº »õ·Î¿î µ¥ÀÌÅÍ Å¸ÀÔÀ̸ç structÀº Ç¥ÁØ C¾ð¾î¿¡¼­ Á¦°øÇÏ´Â µ¥ÀÌÅÍ Å¸ÀÔ »ý¼º±âÀÔ´Ï´Ù.

 

n         ´©°¡ ¸¸µé¾úÀ»±î¿ä?

±×°ÍÀº ´©±¸³ª ¸¸µé ¼ö ÀÖÀ¸¸ç ¿©±â¼­´Â Á¦°¡ ÀÓÀÇÀÇ À̸§À¸·Î Çϳª ¸¸µé¾ú½À´Ï´Ù.

n         PERSONÀ̶ó´Â À̸§Àº ¹«¾ùÀϱî¿ä?

»õ·Î¿î µ¥ÀÌÅÍ Å¸ÀÔÀÇ À̸§ÀÔ´Ï´Ù.

n         struct´Â ¹«¾ùÀ» ÇÏ´Â °ÍÀϱî¿ä?

»õ·Î¿î µ¥ÀÌÅÍ Å¸ÀÔÀ» ¸¸µé ¼ö ÀÖ°Ô ÇØÁִ Ű¿öµåÀÔ´Ï´Ù.

n         age, height, weight´Â »õ·Î¿î µ¥ÀÌÅÍ Å¸ÀÔ ³»ºÎ¿¡ Á¸ÀçÇÏ´Â ¸â¹öÀÔ´Ï´Ù.

 

Á¤¸®¸¦ ÇØº¸ÁÒ. ±âÁ¸¿¡´Â ÁÖ¾îÁø µ¥ÀÌÅÍŸÀÔÀ¸·Î µ¥ÀÌÅ͸¦ Çϳª¸¸ ³ÖÀ» ¼ö ÀÖ´Â º¯¼ö¸¦ ¼±¾ðÇÏ¿© ÇϳªÀÇ µ¥ÀÌÅ͸¸À» ³Ö¾î »ç¿ëÇß½À´Ï´Ù. ÀÌÁ¦´Â ´Þ¶óÁ³½À´Ï´Ù. ±¸Á¶Ã¼¸¦ ÀÌ¿ëÇÏ¿© PERSONÀ̶ó´Â »õ·Î¿î µ¥ÀÌÅÍ Å¸ÀÔÀ» ¸¸µé¾úÀ¸¸ç, ±× ¼Ó¿¡´Â 3°³ÀÇ º¯¼ö¸¦ Æ÷ÇÔÇϰí ÀÖÀ¸¸ç, 3°³ÀÇ º¯¼öµéÀ» ´ëÇ¥ÇÏ´Â À̸§À» ¹Ù·Î PERSONÀ¸·Î Çϰڴٴ °ÍÀÔ´Ï´Ù.

 

¾Õ Àå¿¡¼­ ¾ð±ÞÇÑ µ¥ÀÌÅÍ Å¸ÀÔÀ» »ó±â½ÃÄѺ¸½Ê½Ã¿À. µ¥ÀÌÅÍ Å¸ÀÔÀº ¾îµð¿¡ »ç¿ëÇÑ´Ù°í Çß½À´Ï±î? ¹Ù·Î º¯¼ö¸¦ ¼±¾ðÇÒ ¼ö ÀÖ´Ù´Â °ÍÀÔ´Ï´Ù. À§ÀÇ ¸¸µé¾îÁø µ¥ÀÌÅÍ Å¸ÀÔ PERSONÀ» ÀÌ¿ëÇÏ¿© ¾Æ·¡¿Í °°ÀÌ º¯¼ö¸¦ ¼±¾ð Çß½À´Ï´Ù.

 

PERSON brother;

 

ÀÌ¿Í °°ÀÌ º¯¼ö¸¦ Çϳª ¸¸µé¾úÀ» ¶§ ¸Þ¸ð¸®°¡ Çϳª »ý¼ºµÇ¾îÁý´Ï´Ù. ¿©±â¼­, º¯¼öÀ̸§Àº ´©°¡ ¹¹·¡µµ brotherÀÔ´Ï´Ù. ÇÏÁö¸¸ ¾ÆÁÖ °ï¶õÇÑ ¹®Á¦°¡ ¹ß»ýÇÕ´Ï´Ù. ±âÁ¸ÀÇ ¹æ½Ä´ë·Î¶ó¸é ÀÌ ¼Ó¿¡ ÀÖ´Â 3°³ÀÇ º¯¼ö¿¡ °ªÀ» ³ÖÀ» ¼ö°¡ ¾ø½À´Ï´Ù. ±×·¡¼­ ³ª¿Â °ÍÀÌ Á¡ÀÇ(.) ¿ø¸®ÀÔ´Ï´Ù. ±×³É ´Ü¼øÈ÷ ÀÌÇØÇÏÀÚ¸é ¼Ò¼ÓÀ̶ó´Â Àǹ̰ÚÁÒ.

 

PERSON brother;

brother.age =100

brother.height=170L

brother.weight=67.5F

 

ÀÌ¿Í °°ÀÌ »ç¿ëÀÚ°¡ ÀÓÀÇ·Î »õ·Î¿î µ¥ÀÌÅÍŸÀÔÀ» ¸¸µé¸ç ±×¸®°í ±× ŸÀÔÀ» »ç¿ëÇÒ ¼ö ÀÖ°Ô ÇÏ´Â °ÍÀÌ ANSI CÀÇ ±¸Á¶Ã¼ÀÔ´Ï´Ù. ±¸Á¶Ã¼ÀÇ Àǹ̴ ¿©±â±îÁö¸¸ ¾Ë¾Æ µÎµµ·Ï ÇÏÁÒ. ´õ ÀÌ»ó ±¸Á¶Ã¼´Â ÀÚ¹Ù¿¡¼­ »ç¿ëµÇÁö ¾Ê½À´Ï´Ù. ÇÏÁö¸¸ ÀÌ ±¸Á¶Ã¼¾ß ¸»·Î ÀÚ¹Ù¾ð¾î¿¡ ´ëÇÑ ÇÙ½ÉÀÇ Àǹ̸¦ ±×´ë·Î ´ã°í ÀÖÀ¸´Ï ±× ´À³¦¸¸Å­Àº Á¤È®È÷ ¾Ë¾Æ µÎ¾î¾ß ÇÕ´Ï´Ù.

 

 

2.2.3 °á·Ð

±¸Á¶Ã¼°¡ Ŭ·¡½º¿Í »ç¿ë¹æ¹ýÀÌ µ¿ÀÏÇÏ´Ù¸é ¿Ö ±»ÀÌ ±¸Á¶Ã¼¸¦ ÀÌ¿ëÇÏÁö ¾Ê°í »õ·Î¿î ÇüÅÂÀÇ Å¬·¡½º¸¦ ¸¸µé¾úÀ»±î¿ä? ¹Ù·Î ÀÌ Â÷ÀÌÁ¡ÀÌ Å¬·¡½º¸¸ÀÇ Æ¯Â¡ÀÌ¸ç °´Ã¼ ÁöÇâ¾ð¾îÀÇ ÀåÁ¡ÀÔ´Ï´Ù. ¾ÕÀ¸·Î ±¸Á¶Ã¼º¸´Ù ¿Ö Ŭ·¡½º°¡ ³ªÀº°¡¸¦ ¾Ë°Ô µÈ´Ù¸é ¿ì¸®´Â Ŭ·¡½ºÀÇ °³³äÀ» ¾î´À Á¤µµ ÆÄ¾ÇÇϰí ÀÖ´Â °ÍÀÔ´Ï´Ù.

 

¹¹°¡ ´Ù¸¥Áö ´äºÎÅÍ º¸°í ´ÙÀ½À¸·Î ³Ñ¾î°¡µµ·Ï ÇÏÁÒ. ±¸Á¶Ã¼¿Í Ŭ·¡½º´Â µ¥ÀÌÅÍ Å¸ÀÔÀÇ »ý¼ºÀ̶ó´Â Ãø¸é¿¡¼­´Â °°Àº ¿ªÇÒÀ» ÇÕ´Ï´Ù. Ŭ·¡½º°¡ ±¸Á¶Ã¼º¸´Ù °­·ÂÇÑ Á¡Àº Á¢±ÙÁ¦¾î, »ó¼ÓÀÇ °³³ä ±×¸®°í ¸Þ¼­µåÀÇ È°¿ë ºÎºÐÀÌ Å¬·¡½º¿¡ Ãß°¡ µÇ¾ú´Ù´Â Á¡ÀÔ´Ï´Ù. ÀÚ¹Ù¸¦ ¹è¿î´Ù´Â °ÍÀº ¹Ù·Î Ŭ·¡½ºÀÇ ÀåÁ¡À» ¹è¿ì´Â °ÍÀÔ´Ï´Ù. ´ÙÀ½ Àý¿¡¼­ Ŭ·¡½ºÀÇ ¸¸µå´Â ¹æ¹ýÀ» »ìÆì º¸µµ·Ï ÇϰڽÀ´Ï´Ù.



jabookÀúÀÚ¸íÇÔ
Á¦¸ñ:¼Ò¼³°°ÀºÀÚ¹Ù1ºÎ
ÀúÀÚ:ÃÖ¿µ°ü