°¡»ó ÇÔ¼ö¶õ Ŭ·¡½º ŸÀÔÀÇ Æ÷ÀÎÅÍ·Î ¸â¹ö ÇÔ¼ö¸¦ È£ÃâÇÒ ¶§ µ¿ÀÛÇϴ Ưº°ÇÑ ÇÔ¼öÀÌ´Ù. °´Ã¼ ÁöÇâÀÇ Áß¿äÇÑ Æ¯Â¡ÀÎ ´ÙÇü¼ºÀ» ±¸ÇöÇÏ´Â ¹®¹ýÀû ±â¹ÝÀÌ ¹Ù·Î °¡»ó ÇÔ¼öÀε¥ ³ª¸§´ë·Î ³À̵µ°¡ ÀÖ¾î¼ ¹«Ã´ ¾î·Æ´Ù. ƯÈ÷ 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¸¦ ÀÌÇØÇÏ´Â °¡Àå ÇÙ½ÉÀûÀÎ ¹®±¸À̹ǷΠ¹Ýµå½Ã ±â¾ïÇÏÀÚ. Àú °£´ÜÇÑ ¹®ÀåÀ» ¿Ö Àú·¸°Ô ¿±±âÀûÀ¸·Î Å©°Ô ¿ÜÃÄ ´ë´ÂÁö Àß ÀÌÇØ°¡ ¾È°¡°ÚÁö¸¸ ÀÌ °£´ÜÇÑ ¹®ÀåÀÌ ³ªÁß¿¡ °øºÎÇÏ´Ù º¸¸é ¶Ç ±×·¸°Ô Çò°¥¸± ¼ö°¡ ¾ø´Ù. Æ÷ÀÎÅÍ¿Í °´Ã¼¿ÍÀÇ °ü°è¸¦ ¸Ó¸®¼Ó¿¡ Àß Á¤¸®ÇØ ³õ°í °¡»ó ÇÔ¼ö¿¡ ´ëÇÑ °³³äÀ» °øºÎÇØ º¸ÀÚ.