30-1.°¡»ó ÇÔ¼ö

30-1-°¡.°´Ã¼¿Í Æ÷ÀÎÅÍ

°¡»ó ÇÔ¼ö¶õ Ŭ·¡½º ŸÀÔÀÇ Æ÷ÀÎÅÍ·Î ¸â¹ö ÇÔ¼ö¸¦ È£ÃâÇÒ ¶§ µ¿ÀÛÇϴ Ưº°ÇÑ ÇÔ¼öÀÌ´Ù. °´Ã¼ ÁöÇâÀÇ Áß¿äÇÑ Æ¯Â¡ÀÎ ´ÙÇü¼ºÀ» ±¸ÇöÇÏ´Â ¹®¹ýÀû ±â¹ÝÀÌ ¹Ù·Î °¡»ó ÇÔ¼öÀε¥ ³ª¸§´ë·Î ³­À̵µ°¡ À־ ¹«Ã´ ¾î·Æ´Ù. ƯÈ÷ C++À» óÀ½ °øºÎÇÏ´Â »ç¶÷¿¡°Ô À־´Â CÀÇ Æ÷ÀÎÅ͸¸Å­À̳ª ¾î·Á¿î °íºñ·Î ¿©°ÜÁø´Ù. ÇѸ¶µð·Î °£°áÇÏ°Ô Á¤ÀÇÇϱ⿡´Â ºÎÇÇ°¡ ³Ê¹« Å« °³³äÀ̹ǷΠÀÌ Àå¿¡¼­´Â °¡»ó ÇÔ¼ö¿Í ´ÙÇü¼ºÀ» ¾ÆÁÖ Á¡ÁøÀûÀÎ ¹æ¹ýÀ¸·Î õõÈ÷ ¿¬±¸ÇØ º¸±â·Î ÇÑ´Ù.

´Ù¼Ò º¹ÀâÇÏ°í ÄÄÆÄÀÏ·¯ÀÇ ³»ºÎ µ¿ÀÛ±îÁö ÀÌÇØÇØ¾ß ÇϹǷΠ¼ÖÁ÷È÷ È¥ÀÚ °øºÎÇϱâ´Â ¾î·Á¿î ÁÖÁ¦ÀÌ´Ù. óÀ½ ÀÐÀ» ¶§´Â °³³ä Æľǿ¡ Ä¡ÁßÇÏ°í ¿¹Á¦¸¦ ÁÖÀDZí°Ô °üÂûÇØ º¸µµ·Ï ÇÏÀÚ. ´ÙÇü¼ºÀº ¾î·Á¿î¸¸Å­ ½Ç¿ëÀûÀÎ ¹®¹ýÀ̸ç MFC ÇÁ·¹ÀÓ¿öÅ©ÀÇ Åä´ë°¡ µÇ°í »ó¼Ó¿¡ ´Ü¼øÇÑ ÀçÈ°¿ë ÀÌ»óÀÇ Àǹ̸¦ ºÎ¿©ÇÏ´Â ¼ö´ÜÀÌ´Ù. ÇѸ¶µð·Î OOPÀÇ ²ÉÀ̶ó°í ÇÒ ¼ö ÀÖÀ» Á¤µµ·Î Áß¿äÇÑ ±â´ÉÀÌ´Ù.

º»°ÝÀûÀ¸·Î °¡»ó ÇÔ¼ö¸¦ ³íÇϱâ Àü¿¡ »ó´ëÀûÀ¸·Î ½¬¿î Ŭ·¡½º ŸÀÔÀÇ Æ÷ÀÎÅÍ¿Í °´Ã¼¿ÍÀÇ °ü°è¿¡ ´ëÇØ ¸ÕÀú ¿¬±¸ÇØ º¸µµ·Ï ÇÏÀÚ. ÀÌ ¿¬±¸¸¦ À§ÇØ ¾ÕÀå¿¡¼­ ¸¸µé¾ú´ø InheritStudent ¿¹Á¦ÀÇ Human, Student Ŭ·¡½º¸¦ »ç¿ëÇϵµ·Ï ÇÏÀÚ. HumanÇüÀÇ °´Ã¼ H°¡ ÀÖ°í Student ÇüÀÇ °´Ã¼ S°¡ ÀÖÀ» ¶§ ´ÙÀ½ µÎ ´ëÀÔ¹®À» º¸ÀÚ.

 

Human H("À̳ð");

Student S("Àú³ð",9900990);

 

H=S;        // °¡´É

S=H;        // ¿¡·¯

 

ºÎ¸ð Ŭ·¡½ºÀÇ °´Ã¼ÀÎ H°¡ ÀÚ½Ä Å¬·¡½ºÀÇ °´Ã¼ÀÎ S¸¦ ´ëÀÔ¹Þ´Â °ÍÀº ³í¸®ÀûÀ¸·Î °¡´ÉÇÏ´Ù. ¿Ö³ÄÇϸé H°¡ ´ëÀÔ¹ÞÀ» ¸ðµç ¸â¹ö°¡ S¿¡µµ Àֱ⠶§¹®ÀÌ´Ù. Á» À¯½ÄÇÏ°Ô Ç¥ÇöÇϸé ÇлýÀº ÀÏÁ¾ÀÇ »ç¶÷À̸ç IS A°ü°è°¡ ¼º¸³ÇϹǷΠÇлýÀÌ »ç¶÷ÀÌ µÉ ¼ö ÀÖ´Ù. S¿Í H¿¡ µ¿½Ã¿¡ Á¸ÀçÇÏ´Â ¸ðµç ¸â¹ö°¡ H·Î ´ëÀԵǸç S¿¡´Â ÀÖÁö¸¸ H¿¡´Â ¾ø´Â ¸â¹ö´Â ´ëÀÔ¿¡¼­ Á¦¿ÜµÈ´Ù.

S °´Ã¼ÀÇ À̸§ Á¤º¸ÀÎ NameÀº H °´Ã¼¿¡ ±×´ë·Î ´ëÀÔµÇÁö¸¸ StNumÀº ´ëÀÔÇÒ ¼ö ¾ø´Âµ¥ ¿Ö³ÄÇϸé H °´Ã¼¿¡´Â ÀÌ °ª¿¡ ´ëÀÀµÇ´Â ¸â¹ö°¡ ¾ø±â ¶§¹®ÀÌ´Ù. H°´Ã¼¿¡°Ô StNumÀº Çʼö Á¤º¸°¡ ¾Æ´Ï¸ç ÇйøÀÌ ¾ø¾îµµ ¾ó¸¶µçÁö »ç¶÷ÀÌ µÉ ¼ö ÀÖ´Ù. H=S ´ëÀÔ¿¡ ÀÇÇØ H´Â S°¡ °¡Áö°í ÀÖ´Â À̸§ Á¤º¸¸¦ °¡Áö°Ô µÉ °ÍÀÌ´Ù. ±×·¯³ª ´ëÀÔÀº °¡´ÉÇÏÁö¸¸ ¿ìº¯ÀÇ Á¤º¸ Áß ÀϺΰ¡ Áº¯¿¡ ´ëÀԵǸ鼭 »ç¶óÁö´Â ½½¶óÀ̽º(Slice) ¹®Á¦°¡ ¹ß»ýÇÏ´Â ºÎÀÛ¿ëÀÌ ÀÖ´Ù.

¹Ý´ë·ÎÀÇ ´ëÀÔÀÎ S=H ´ëÀÔÀº ¸í¹éÇÑ ¿¡·¯·Î 󸮵ȴÙ. ¹°·Ð ÀÌ °æ¿ìµµ µÑ »çÀÌ¿¡ °øÅëÀ¸·Î Á¸ÀçÇÏ´Â ¸â¹ö¸¸ ´ëÀÔÇÏ´Â ¹æ¹ýÀ» ¾µ ¼ö ÀÖ°ÚÁö¸¸ ÀÌ·¸°Ô µÇ¸é S°¡ ¿ÂÀüÇÑ °´Ã¼°¡ µÇÁö ¸øÇÒ È®·üÀÌ Å©´Ù. ÀϹÝÀûÀ¸·Î ÀÚ½Ä °´Ã¼´Â ºÎ¸ðº¸´Ù ´õ ¸¹Àº ¸â¹ö¸¦ °¡Áö¸ç ÀÌ ¸â¹öµéÀº ¼­·Î ±ä¹ÐÇÏ°Ô ¿¬°üµÇ¾î ÀÖÀ» °ÍÀÌ´Ù. ±×·±µ¥ ºÎ¸ð·ÎºÎÅÍ Àü´Þ¹ÞÀº ¸â¹ö¸¸ ´ëÀÔ¹Þ°í ÀÌ ¸â¹ö¿¡ Á¾¼ÓÀûÀÎ ´Ù¸¥ ¸â¹ö´Â ¹Ù²îÁö ¾Ê´Â´Ù¸é ¿ÂÀüÇÑ »óÅÂÀÇ °´Ã¼°¡ µÉ ¼ö ¾ø´Ù.

¿¹¸¦ µé¾î ¾î¶² ÇлýÀÇ Á¤º¸¸¦ Ç¥ÇöÇÏ°í ÀÖ´Â °´Ã¼¿¡ À̸§¸¸ º¯°æÇϸé ÀÌ ÇлýÀÇ À̸§°ú ÇйøÀº ºÒÀÏÄ¡ÀÇ »óÅ°¡ µÉ °ÍÀÌ¸ç ³í¸®ÀûÀ¸·Î Àǹ̾ø´Â ºÒ¿ÏÀüÇÑ °´Ã¼°¡ µÇ¾î ¹ö¸°´Ù. Human°ú Student´Â ¿ö³« °£´ÜÇÑ Å¬·¡½º¶ó ÀÌ Á¤µµ ¹®Á¦¹Û¿¡ ¾øÁö¸¸ Á» ´õ º¹ÀâÇÑ Å¬·¡½º °èÃþ¿¡¼­´Â ÀÌ·± ¹®Á¦°¡ Ä¡¸íÀûÀÎ ¿¡·¯ÀÇ ¿øÀÎÀÌ µÉ ¼öµµ ÀÖ´Ù. °¡·É ºÎ¸ð°¡ Á¤ÀÇÇÏ´Â ¹öÆÛÀÇ ÇÑ ÁöÁ¡À» °¡¸®Å°´Â Æ÷ÀÎÅÍ ¸â¹ö º¯¼ö¸¦ ÀÚ½ÄÀÌ Ãß°¡·Î Á¤ÀÇÇÒ ¶§ ÀÌ Æ÷ÀÎÅÍ°¡ ¾û¶×ÇÑ °÷À» °¡¸®Å²´Ù¸é ¾î¶»°Ô µÇ°Ú´Â°¡? ÀÌ·¸°Ô À§ÇèÇϱ⠶§¹®¿¡ ÄÄÆÄÀÏ·¯´Â ÀÌ·± ´ëÀÔÀ» Çã¿ëÇÏÁö ¾Ê´Â °ÍÀÌ´Ù.

¸¸¾à Student Ŭ·¡½º¿¡ HumanÇüÀÇ °´Ã¼¸¦ ´ëÀÔ¹Þ´Â º°µµÀÇ ´ëÀÔ ¿¬»êÀÚ°¡ Á¤ÀǵǾî ÀÖ°í ÀÌ ÇÔ¼ö°¡ Human¿¡ ¾ø´Â ¸â¹ö¿¡ ´ëÇØ ¹«³­ÇÑ µðÆúÆ®¸¦ ÃëÇÑ´Ù¸é ¿ª¹æÇâÀÇ ´ëÀÔÀÌ ¹®¹ýÀûÀ¸·Î °¡´ÉÇØÁø´Ù. ±×·¯³ª ÀÌ·± °æ¿ì´Â Àڽİú ºÎ¸ðÀÇ ¸â¹ö°¡ ÀÏÄ¡Çϰųª ¾Æ´Ï¸é ºÎ¸ðÀÇ Á¤º¸¸¸À¸·Î ÀÚ½Ä °´Ã¼¸¦ ¿ÏÀüÈ÷ Àç»ý¼º °¡´ÉÇÑ Æ¯º°ÇÑ °æ¿ìÀ̹ǷΠÀϹÝÀûÀ̶ó°í ÇÒ ¼ö ¾ø´Ù. ¿ä¾àÇÏÀÚ¸é ºÎ¸ð °´Ã¼´Â ÀÚ½Ä °´Ã¼¸¦ ´ëÀÔ¹ÞÀ» ¼ö ÀÖÁö¸¸ ±× ¹Ý´ë´Â ¾ÈµÈ´Ù.

Ŭ·¡½º ŸÀÔÀÇ Æ÷ÀÎÅͳ¢¸®µµ °´Ã¼°£ÀÇ °ü°è¿Í µ¿ÀÏÇÑ ±ÔÄ¢ÀÌ ±×´ë·Î Àû¿ëµÈ´Ù. Ŭ·¡½º´Â ŸÀÔÀ̹ǷΠŬ·¡½ºÇü °´Ã¼¸¦ °¡¸®Å³ ¼ö ÀÖ´Â Æ÷ÀÎÅ͸¦ ¼±¾ðÇÒ ¼ö ÀÖ´Ù. ºÎ¸ð ŸÀÔÀÇ Æ÷ÀÎÅÍ¿Í ÀÚ½Ä Å¸ÀÔÀÇ Æ÷ÀÎÅÍ°¡ ÀÖÀ» ¶§ ÀÌ Æ÷ÀÎÅÍ°¡ ¾î¶² °´Ã¼ÀÇ ¹øÁö¸¦ ¾ÈÀüÇÏ°Ô ´ëÀÔ¹ÞÀ» ¼ö ÀÖ´ÂÁö ´ÙÀ½ ¿¹Á¦¸¦ º¸ÀÚ.

 

¿¹ Á¦ : ObjectPointer

#include <Turboc.h>

 

class Human

{

protected:

      char Name[16];

public:

      Human(char *aName) { strcpy(Name,aName); }

      void Intro() { printf("À̸§:%s",Name); }

      void Think() { puts("¿À´Ã Á¡½ÉÀº ¹» ¸ÔÀ»±î?"); }

};

 

class Student : public Human

{

private:

      int StNum;

public:

      Student(char *aName,int aStNum) : Human(aName) { StNum=aStNum; }

      void Intro() { Human::Intro();printf(",Çйø:%d",StNum); }

      void Think() { puts("À̹ø ±â¸» °í»ç Àß ÃÄ¾ß ÇÒÅÙµ¥ ^_^"); }

      void Study() { puts("Çϴà õ µûÁö °ËÀ» Çö ´©¸¦ Ȳ..."); }

};

 

void main()

{

     Human H("±è»ç¶÷");

     Student S("ÀÌÇлý",1234567);

     Human *pH;

     Student *pS;

 

     pH=&H;         // ´ç¿¬È÷ °¡´É

     pS=&S;         // ´ç¿¬È÷ °¡´É

     pH=&S;         // °¡´É

//  pS=&H;         // ¿¡·¯

 

     pS=(Student *)&H;

     pS->Intro();

}

 

¾ÕÀÇ µÎ ´ëÀÔ¹®Àº Á¿캯ÀÌ ¿ÏÀüÈ÷ °°Àº ŸÀÔÀ̹ǷΠÁö±ØÈ÷ ´ç¿¬ÇÑ ´ëÀÔ¹®ÀÌ´Ù. HumanÀ» °¡¸®Å°´Â Æ÷ÀÎÅÍ pH°¡ HumanÇü °´Ã¼ HÀÇ ¹øÁö¸¦ ´ëÀÔ¹Þ´Â °ÍÀº Çϳªµµ ÀÌ»óÇÒ °ÍÀÌ ¾ø´Ù. ÀÌ·¸°Ô ´ëÀÔµÈ pH·ÎºÎÅÍ pH->Intro(), pH->Think() ÇÔ¼ö¸¦ È£ÃâÇÒ ¼ö ÀÖ´Ù. ¹°·Ð pH¸¦ ÅëÇÑ ÂüÁ¶´Â Ŭ·¡½º ¿ÜºÎ¿¡¼­ ÀÌ·ç¾îÁö¹Ç·Î public ¸â¹ö¿¡ ´ëÇؼ­¸¸ ÂüÁ¶ °¡´ÉÇÏ´Ù. ¸¶Âù°¡Áö·Î Student ŸÀÔÀÇ Æ÷ÀÎÅÍ pS°¡ SÀÇ ¹øÁö¸¦ °¡Áú ¼ö ÀÖ´Â °Íµµ Áö±ØÈ÷ ÀÚ¿¬½º·´´Ù.

±×·¸´Ù¸é ¼¼ ¹ø° ´ëÀÔ¹® pH=&SÀÇ °æ¿ì´Â ¾î¶³±î? ÀÏ´Ü ´ëÀÔ ¿¬»êÀÚ ¾çº¯ÀÇ Å¸ÀÔÀÌ ºÒÀÏÄ¡Çؼ­ ¹®Á¦°¡ µÉ °Í °°Áö¸¸ ÄÄÆÄÀÏÇØ º¸¸é ¾Æ¹«·± ¹®Á¦°¡ ¾ø´Ù. ºÎ¸ð ŸÀÔÀÇ Æ÷ÀÎÅÍ°¡ ÀÚ½Ä °´Ã¼ÀÇ ¹øÁö¸¦ ´ëÀԹ޾Ҵµ¥ ÄÄÆÄÀÏ·¯°¡ À̸¦ Çã¿ëÇÏ´Â ÀÌÀ¯´Â ÀÌ ´ëÀÔÀÌ ³í¸®ÀûÀ¸·Î ¾Æ¹«·± ¹®Á¦°¡ ¾ø±â ¶§¹®ÀÌ´Ù. ÀÌ·¸°Ô ´ëÀÔµÈ Æ÷ÀÎÅÍ pH·Î´Â Human¿¡ ÀÖ´Â ¸â¹ö¸¸ ÂüÁ¶ÇÒ ¼ö ÀÖÀ¸¸ç HumanÀÇ ¸ðµç ¸â¹ö¸¦ Student°´Ã¼ÀÎ Sµµ °¡Áö°í ÀÖ´Ù. ±×·¯¹Ç·Î pH->Think()¸¦ È£ÃâÇϵç pH->Intro()¸¦ È£ÃâÇϵç ÀüÇô ÀÌ»óÀÌ ¾ø´Â °ÍÀÌ´Ù. ÇлýÀº »ç¶÷À̹ǷÎ(Student is a Human) »ç¶÷ÀÇ ¸ðµç ¼Ó¼ºÀ» °¡Áö¸ç »ç¶÷ÀÌ ÇÒ ¼ö ÀÖ´Â ¸ðµç ÇൿÀ» ÇÒ ¼ö ÀÖ´Ù.

±×·¯³ª ±× ¹Ý´ë´Â ¼º¸³ÇÏÁö ¾Ê´Â´Ù. ¸ðµç »ç¶÷Àº ÇлýÀÌ ¾Æ´Ï¹Ç·Î ÇлýÀÌ ÇÒ ¼ö ÀÖ´Â Çൿ Áß¿¡ »ç¶÷ÀÌ ÇÒ ¼ö ¾ø´Â Çൿµµ ÀÖ´Ù. °øºÎÇÑ´Ù, ½ÃÇèÄ£´Ù´Â ÇൿÀº »ç¶÷Áß¿¡¼­µµ Çлý¸¸ÀÌ ÇÒ ¼ö ÀÖ´Â ÇൿÀÌ´Ù. ±×·¡¼­ Çлý ŸÀÔÀÇ Æ÷ÀÎÅÍ pS¿¡ ºÎ¸ð °´Ã¼ HÀÇ ¹øÁö¸¦ ´ëÀÔÇÏ´Â °ÍÀº Çã¶ôµÇÁö ¾Ê´Â´Ù. ¹°·Ð ¸Â´Â ŸÀÔÀ¸·Î ij½ºÆÃÇؼ­ °­Á¦·Î ´ëÀÔÇÒ ¼ö´Â ÀÖÁö¸¸ ³í¸®ÀûÀ¸·Î Ʋ¸° ´ëÀÔÀ̱⠶§¹®¿¡ ¿Àµ¿ÀÛÇÒ À§ÇèÀÌ ³ôÀ¸¸ç ±× °á°ú´Â ¿¹ÃøÇÒ ¼ö ¾ø´Ù. ¿¹Á¦ÀÇ ³¡¿¡¼­ &H¸¦ Student *·Î °­Á¦ ij½ºÆÃÇؼ­ ¾ïÁö·Î pS¿¡ ´ëÀÔÇØ º¸¾Ò´Ù. ¹Ù¶÷Á÷ÇÑ ´ëÀÔÀÌ ¾Æ´ÏÁö¸¸ ij½ºÆÃÀ» Ç߱⠶§¹®¿¡ ÄÄÆÄÀÏ·¯°¡ º° ÀÌÀǸ¦ Á¦±âÇÏÁö ¾Ê´Â´Ù.

pS°¡ HumanÇü °´Ã¼¸¦ °¡¸®Å°°í ÀÖ´Â »óÅ¿¡¼­ Intro ÇÔ¼ö¸¦ È£ÃâÇϸé À̶§ È£ÃâµÇ´Â Intro´Â Student::Intro°¡ µÈ´Ù. ¿Ö³ÄÇϸé pS°¡ Student * ŸÀÔÀ̱⠶§¹®ÀÌ´Ù. È£Ãâ Æ÷ÀÎÅÍ¿Í ÇÔ¼öÀÇ ½ÖÀÌ ¸Â±â´Â ÇϹǷΠÄÄÆÄÀÏ ¿¡·¯´Â ¾Æ´Ï´Ù. ¶ÇÇÑ ±¸Á¶Ã¼ ¸â¹ö ÂüÁ¶¹®Àº ¸â¹öÀÇ À̸§À¸·Î ¿ÀÇÁ¼Â¸¸ ÃëÇϹǷΠIntro¿¡¼­ StNumÀ» Àд´٠Çصµ ¹®¹ýÀûÀ¸·Î ¹®Á¦°¡ ¾ø´Ù. ÀÌ ÇÔ¼ö´Â À̸§°ú ÇйøÀ» Ãâ·ÂÇϴµ¥ pS°¡ °¡¸®Å°°í ÀÖ´Â H °´Ã¼´Â À̸§Àº °¡Áö°í ÀÖÁö¸¸ ÇйøÀº °¡Áö°í ÀÖÁö ¾ÊÀ¸¹Ç·Î ¾û¶×ÇÑ ¾²·¹±â°ªÀÌ Ãâ·ÂµÉ °ÍÀÌ´Ù. ÀÌ·± ´ëÀÔÀÌ ¶§·Î´Â ¾ÆÁÖ À§ÇèÇÑ °á°ú¸¦ ÃÊ·¡ÇÒ ¼öµµ ÀÖÀ¸¹Ç·Î ÄÄÆÄÀÏ·¯´Â ÀÚ½Ä Æ÷ÀÎÅÍ Å¸ÀÔÀÌ »óÀ§ Ŭ·¡½ºÀÇ °´Ã¼¸¦ °¡¸®Å°Áö ¸øÇϵµ·Ï ±ÝÁöÇÏ´Â °ÍÀÌ´Ù.

Æ÷ÀÎÅÍ´Â µÎ °¡Áö Á¾·ùÀÇ Å¸ÀÔÀ» °¡Áø´Ù. Á¤Àû ŸÀÔ(Static Type)À̶õ Æ÷ÀÎÅÍ°¡ ¼±¾ðµÉ ¶§ÀÇ Å¸ÀÔ, Áï Æ÷ÀÎÅÍ ÀÚüÀÇ Å¸ÀÔÀ» ÀǹÌÇÏ¸ç µ¿Àû ŸÀÔ(Dynamic Type)À̶õ Æ÷ÀÎÅÍ°¡ ½ÇÇàÁß¿¡ °¡¸®Å°°í ÀÖ´Â ´ë»óüÀÇ Å¸ÀÔ, Áï ´ë»óüÀÇ Å¸ÀÔÀ» ÀǹÌÇÑ´Ù. ´ë°³ÀÇ °æ¿ì Á¤Àû, µ¿Àû ŸÀÔÀÌ ÀÏÄ¡ÇÏÁö¸¸ À§ ¿¹ÀÇ pH=&S ´ëÀÔó·³ µÎ ŸÀÔÀÌ Æ²·ÁÁö´Â °æ¿ìµµ ÀÖ´Ù. pHÀÇ Á¤Àû ŸÀÔÀº Human *ÇüÀÌÁö¸¸ StudentÇü °´Ã¼ÀÇ ¹øÁö¸¦ °¡¸®Å°°í ÀÖÀ¸¹Ç·Î µ¿Àû ŸÀÔÀº Student *ÇüÀÌ´Ù.

C¿¡¼­ Æ÷ÀÎÅͳ¢¸®´Â ŸÀÔÀÌ ¿ÏÀüÈ÷ ÀÏÄ¡ÇÒ ¶§¸¸ ´ëÀÔÀÌ Çã¿ëµÈ´Ù. ±×·¯³ª C++¿¡¼­´Â »ó¼Ó °ü°è¿¡ Àִ Ŭ·¡½º³¢¸® ´ëÀÔÇÒ ¶§ Áº¯ÀÌ ´õ »óÀ§ÀÇ Å¬·¡½º ŸÀÔÀ̸é ij½ºÆÃÀ» ÇÏÁö ¾Ê°íµµ Á÷Á¢ ´ëÀÔÇÒ ¼ö ÀÖµµ·Ï Çã¿ëÇÑ´Ù. ÀÌ·¸°Ô Çؾ߸¸ ´ÙÇü¼ºÀ» ±¸ÇöÇÒ ¼ö Àֱ⠶§¹®ÀÌ´Ù. ´Ü, °¡»ó ±â¹Ý Ŭ·¡½º°¡ ¾Æ´Ñ ºÎ¸ð·ÎºÎÅÍ ´ÙÁß »ó¼ÓµÈ °ü°è¶ó¸é °£Á¢ÀûÀÎ Áߺ¹ »ó¼Ó¿¡ ÀÇÇØ ¾Ö¸ÅÇÔÀÌ ¹ß»ýÇÒ ¼ÒÁö°¡ ÀÖÀ¸¹Ç·Î ÀÌ·± ´ëÀÔÀÌ Çã¿ëµÇÁö ¾Ê´Â´Ù. ´ÙÁß »ó¼ÓÀº ÀÌ·¡ Àú·¡ º¹ÀâÇÏ´Ù.

Á¤¸®ÇÏÀÚ¸é Æ÷ÀÎÅÍ·Î °´Ã¼¸¦ °¡¸®Å³ ¶§ ºÎ¸ð Ŭ·¡½º ŸÀÔÀÇ Æ÷ÀÎÅÍ·Î ÈÄ¼Õ °´Ã¼¸¦ °¡¸®Å³ ¼ö ÀÖÁö¸¸ ±× ¹Ý´ë´Â ¼º¸³ÇÏÁö ¾Ê´Â´Ù. ÀÌ·± ±ÔÄ¢Àº ·¹ÆÛ·±½º¿¡ ´ëÇؼ­µµ ±×´ë·Î Àû¿ëµÇ´Âµ¥ ·¹ÆÛ·±½ºµµ ¾îÂ÷ÇÇ Æ÷ÀÎÅÍÀ̹ǷΠ°á±¹ °°Àº ±ÔÄ¢À̶ó ÇÒ ¼ö ÀÖ´Ù. Á¤ÀÇ°¡ Á» ±æ¾î¼­ ¿Ü¿ì±â´Â ¾î·Á¿îµ¥ Á» °£´ÜÇÏ°Ô Á¤¸®ÇØ º¸¸é "ºÎ¸ð´Â ÀÚ½ÄÀ» °¡¸®Å³ ¼ö ÀÖ´Ù"°¡ µÈ´Ù. ´ÙÇü¼º°ú °´Ã¼ ÁöÇâÀ» ÀÌÇØÇÏ´Â ¾ÆÁÖ ÇÙ½ÉÀûÀÎ ¹®±¸À̹ǷΠÇò°¥¸®Áö ¾Ê°Ô ²À ¿Ü¿ö µÎµµ·Ï ÇÏÀÚ. Áß¿äÇÑ ³»¿ëÀ̹ǷΠÇÑ ¹ø ´õ Å©°Ô ¹Ýº¹ÇÑ´Ù.

 

ºÎ¸ð´Â ÀÚ½ÄÀ» °¡¸®Å³ ¼ö ÀÖ´Ù.

 

"Ŭ·¡½º´Â ŸÀÔÀÌ´Ù"¶ó´Â Á¤ÀÇ¿Í ÇÔ²² OOP¸¦ ÀÌÇØÇÏ´Â °¡Àå ÇÙ½ÉÀûÀÎ ¹®±¸À̹ǷΠ¹Ýµå½Ã ±â¾ïÇÏÀÚ. Àú °£´ÜÇÑ ¹®ÀåÀ» ¿Ö Àú·¸°Ô ¿±±âÀûÀ¸·Î Å©°Ô ¿ÜÃÄ ´ë´ÂÁö Àß ÀÌÇØ°¡ ¾È°¡°ÚÁö¸¸ ÀÌ °£´ÜÇÑ ¹®ÀåÀÌ ³ªÁß¿¡ °øºÎÇÏ´Ù º¸¸é ¶Ç ±×·¸°Ô Çò°¥¸± ¼ö°¡ ¾ø´Ù. Æ÷ÀÎÅÍ¿Í °´Ã¼¿ÍÀÇ °ü°è¸¦ ¸Ó¸®¼Ó¿¡ Àß Á¤¸®ÇØ ³õ°í °¡»ó ÇÔ¼ö¿¡ ´ëÇÑ °³³äÀ» °øºÎÇØ º¸ÀÚ.