<< Ŭ·¡½º(class)¶õ ?? >> * C++ÀÇ °¡Àå Å« Ư¡Àº ¹¹´Ï¹¹´ÏÇصµ Ŭ·¡½º¶õ ³ðÀÇ µîÀåÀÌ´Ù. Ŭ·¡½º°¡ ¾ø´Ù¸é C++À̶ó°í ¸»ÇÒ ¼ö ¾øÀ»Á¶Â÷ Áß¿äÇÑ °³³äÀ̸ç, ±¸Á¶Àû ÇÁ·Î±×·¡¹ÖÀÇ ÇѰ踦 ³Ñ¾î ºñ·Î¼­ OOPÀÇ ¼º°ÝÀÌ µå·¯³ª´Â ºÎºÐÀÌ´Ù. << Ŭ·¡½º(class)¿Í ±¸Á¶Ã¼(struct), °ø¿ëü(union) >> Ŭ·¡½º¶õ C++¿¡¼­ »õ·ÎÀÌ Åº»ýÇÑ »ç¿ëÀÚ Á¤ÀÇ ÀÚ·áÇüÀ̶ó°í ÇÒ ¼ö ÀÖ´Ù. ¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡ ¸í·É¾î¾È³»(C) ÃʱâÈ­¸é(T) Á÷Á¢À̵¿(GO) Á¾·á(X) ¼±ÅÃ> pr PRINTER/CAPTURE °¡ ÁغñµÇ¾ú½À´Ï±î(Y/n) ? ¡º½ÃÁöÇÁ½º(Cezips) C/C++ÇÁ·Î±×·¡¹Ö-DOS,UNIX °­Á (go CEZIPS)¡» 639¹ø Á¦ ¸ñ:[°­ÁÂ] C++ #2 (ÇÏÀÌÅÚ ¼ÒÇÁÆ®µ¿) ¿Ã¸°ÀÌ:nowczps2(½ÃÁöÇÁ½º) 98/01/14 12:57 ÀÐÀ½:411 °ü·ÃÀÚ·á ¾øÀ½ ----------------------------------------------------------------------------- #1515 ¹Úµ¿ºó (ACCESS ) [°­ÁÂ] C++°­Á 2Æí! 08/15 03:21 482 line << Ŭ·¡½º(class)¶õ ?? >> * C++ÀÇ °¡Àå Å« Ư¡Àº ¹¹´Ï¹¹´ÏÇصµ Ŭ·¡½º¶õ ³ðÀÇ µîÀåÀÌ´Ù. Ŭ·¡½º°¡ ¾ø´Ù¸é C++À̶ó°í ¸»ÇÒ ¼ö ¾øÀ»Á¶Â÷ Áß¿äÇÑ °³³äÀ̸ç, ±¸Á¶Àû ÇÁ·Î±×·¡¹ÖÀÇ ÇѰ踦 ³Ñ¾î ºñ·Î¼­ OOPÀÇ ¼º°ÝÀÌ µå·¯³ª´Â ºÎºÐÀÌ´Ù. << Ŭ·¡½º(class)¿Í ±¸Á¶Ã¼(struct), °ø¿ëü(union) >> Ŭ·¡½º¶õ C++¿¡¼­ »õ·ÎÀÌ Åº»ýÇÑ »ç¿ëÀÚ Á¤ÀÇ ÀÚ·áÇüÀ̶ó°í ÇÒ ¼ö ÀÖ´Ù. Ŭ·¡½º¶õ ±¸Á¶Ã¼¿Í ºñ½ÁÇÑ °³³äÀ̸ç, ¸â¹ö·Î ÇÔ¼ö¸¦ ÃëÇÒ ¼ö ÀÖ´Ù. ÀÌ·¯ÇÑ ÇÔ¼ö¸¦ ¸â¹öÇÔ¼ö¶ó°í ºÎ¸¥´Ù. (ÇÔ¼ö¸â¹ö¶ó´Â Ç¥ÇöÀÌ ¿ÇÀ» µíµµ ½ÍÁö¸¸ ÀÌ»ó ÇÏ°Ôµµ ¸â¹öÇÔ¼ö¶ó°í ÇÏ´õ¶ó.. ±×¸®°í C¿¡¼­ Çʵå¶ó°í ÇÏ´ø °ÍÀ» ÀÌ»óÇÏ°Ô µµ C++¿¡¼­´Â ¸â¹ö¶ó°í ÇÑ´Ù.??) C++¿¡¼­ ¸»Çϴ Ŭ·¡½º´Â ±¸Á¶Ã¼(struct),°ø¿ëü(union),Ŭ·¡½º(class) ¸¦ Æ÷°ýÇÏ´Â Àǹ̸¦ °®°í ÀÖ´Ù. Áï, Ŭ·¡½º°¡ °¡Áø Ư¼ºÀº ±¸Á¶Ã¼³ª °ø¿ëüµµ °¡Áú ¼ö ÀÖ´Ù´Â ÀǹÌÀÌ´Ù. (°£È¤ ¿¹¿Üµµ ÀÖ´Ù.) ±×·¯³ª, ±¸Á¶Ã¼³ª °ø¿ëü´Â C¿¡¼­ »ç¿ëµÇ´Â ÇüÅÂ¿Í ´ëºÎºÐ °°°Ô »ç¿ëµÇ¸ç, Ŭ·¡½º¸¸ÀÇ Æ¯Â¡Àº Ŭ·¡½º ÀÚü¸¦ ÀÌ¿ëÇÏ´Â °ÍÀÌ °ü·ÊÀÌ´Ù. ƯÈ÷ °ø¿ëü¸¦ Ŭ·¡½º·Î ½á¸Ô´Â °æ¿ì´Â Æò»ý¿¡ 1¹ø º¼±î¸»±îÀ̸ç, ±¸Á¶Ã¼¿¡¼­´Â °£È¤ ¸â¹ö ÇÔ¼ö¸¦ »ç¿ëÇÏ´Â °æ¿ì°¡ ÀÖÀ» »ÓÀÌ´Ù. °Ô´Ù°¡ Ŭ·¡½º´Â ¸â¹öÇÔ¼ö¸¦ °¡Áú ¼ö Àִٴ Ư¡ ÀÌ¿Ü¿¡ ¾ï¼¼½º ±ÇÇÑÁöÁ¤ , »ý¼ºÀÚ, Æı«ÀÚ(¼Ò¸êÀÚ), »ó¼Ó¼º(°è½Â¼º), Ãß»ó¼º, ´ÙÇü¼ºµîµî ÄÄÇ»ÅÍ ¿ë ¾î´äÁö ¾ÊÀº °³³äµéÀ» Æ÷ÇÔÇÏ°í ÀÖ´Ù. (??) * Ŭ·¡½ºÀÇ Á¤ÀÇ ¹æ¹ý : (±¸Á¶Ã¼, °ø¿ëü¿Í ¸Å¿ì ºñ½ÁÇÏ´Ù.) <Çü½Ä> class <Ŭ·¡½º¸í> { [¾ï¼¼½º ±ÇÇÑ ÁöÁ¤ÀÚ]: ¸â¹ö or ¸â¹öÇÔ¼ö; . : }; ex) class ACCESS { public: int x; char c; void sub(int a,int b, char *s); }; - ¸Ç ³¡ÀÇ ;À» »©¸ÔÁö ¾Ê¾Æ¾ß ÇÑ´Ù´Â »ç½Ç¿¡ ÁÖÀÇÇÑ´Ù. - Ŭ·¡½º´Â ±¸Á¶Ã¼¿Í ¸¶Âù°¡Áö·Î ÁßøÀÌ °¡´ÉÇÏ´Ù.(Ŭ·¡½º ³»¿¡ Ŭ·¡½º) * ¸â¹öÇÔ¼ö ¨ç ¸â¹öÇÔ¼öÀÇ »ç¿ë¹ý ex) È®ÀåµÈ ±¸Á¶Ã¼ - ¸â¹öÇÔ¼öÀÇ »ç¿ë struct ACCESS { int x; ¦¡¦¤ long y; ¦¢ char z; ¦¢---> ¸É¹öµé char *p; ¦¡¦¥ int myfunc(int); ¦¡¦¤ void star(int); ¦¢---> ¸É¹öÇÔ¼öµé void pop(char, char*) ¦¡¦¥ . : } var; ¸â¹öÇÔ¼ö¸¦ »ç¿ëÇÏ·Á¸é var.myfunc(10); var.star(3); µîµî°ú °°ÀÌ »ç¿ëÇÑ´Ù. var.x = 5;µî°ú ÇÔ¼ö¶ó´Â Á¡¸¸ »©°í »ç¿ë¹ýÀÌ °°´Ù. ¨è ¸â¹öÇÔ¼ö Á¤ÀÇÀÇ 2°¡Áö ÇüÅ Ŭ·¡½º ³»¿¡¼­ Á¤ÀÇÇÏ´Â ¹æ¹ýÀÌ ÀÖ°í, Ŭ·¡½º ¹Û¿¡¼­ Á¤ÀÇÇÏ´Â 2°¡Áö ¹æ¹ý ÀÌ ÀÖ´Ù. ex1) Ŭ·¡½º ³»ºÎ¿¡¼­ Á¤ÀÇ ex2) Ŭ·¡½º ¿ÜºÎ¿¡¼­ Á¤ÀÇ struct ACCESS { struct ACCESS { int x; int x; int y; int y; char ch; char ch; void put(int x, int y) void put(int x, int y); { }; gotoxy(x,y); putch(ch); void ACCESS::put(int x, int y) } { }; gotoxy(x,y); putch(ch); } ¿¹¿Í °°ÀÌ Å¬·¡½º ¿ÜºÎ¿¡¼­ Á¤ÀÇÇÒ ¶§´Â ´ÙÀ½ Çü½ÄÀ» µû¸¥´Ù. <Çü½Ä> ÇÔ¼öÀÇ µ¥ÀÌÅÍÇü ¼Ò¼Ó±¸Á¶Ã¼ÀÇ À̸§::ÇÔ¼öÀ̸§(Àμö ¸®½ºÆ®) { ÇÔ¼öÀÇ º»Ã¼ } - ³»ºÎÁ¤ÀÇ¿Í ¿ÜºÎÁ¤ÀÇ´Â ´ÙÀ½°ú °°Àº Â÷ÀÌÁ¡ÀÌ ÀÖ´Ù. ¦£ ³»ºÎÁ¤ÀÇ : inline¼Ó¼ºÀ» °¡Áö°Ô µÈ´Ù. ¦¦ ¿ÜºÎÁ¤ÀÇ : inline¼Ó¼ºÀ» ºÎ¿©ÇÏÁö ¾Ê´Â ÇÑ ÀϹÝÇÔ¼ö°¡ µÈ´Ù. ¨é ÀμöÀÇ »ý·«°¡´É ÇüÅ¿¡ µû¶ó¼­ ÇÔ¼öÁ¤ÀÇ¿¡¼­ ÀμöÀÇ »ý·«ÀÌ °¡´ÉÇÏ´Ù. ¸â¹öÇÔ¼ö¶õ ¾îÂ÷ÇÇ ÀÚ½ÅÀÌ ¼ÓÇÑ Å¬·¡½º°¡ ÀÛ¾÷´ë»óÀÌ µÇ¹Ç·Î Àμö¸¦ ³Ñ°ÜÁÙ ÇÊ¿ä°¡ ¾ø´Â °ÍÀÌ ´Ù. (±×·¯³ª º¸Åë ´ëºÎºÐ ½áÁÖ´Â °ÍÀÌ ÁÁ´Ù.) ex1-1) Ŭ·¡½º ³»ºÎ¿¡¼­ Á¤ÀÇ ex2-1) Ŭ·¡½º ¿ÜºÎ¿¡¼­ Á¤ÀÇ struct ACCESS { struct ACCESS { int x; int x; int y; int y; char ch; char ch; void put() void put(); { }; gotoxy(x,y); putch(ch); void ACCESS::put() } { }; gotoxy(x,y); putch(ch); } - ¸â¹öÇÔ¼öÀÇ µîÀåÀ¸·Î ¸»¹Ì¾Ï¾Æ C++¿¡¼­´Â ±¸Á¶Ã¼ ÇϳªÁ¶Â÷ ÇÑ ¸ðµâÀ» ÀÌ ·ê ¼öµµ ÀÖ´Ù´Â ¸»ÀÌ µÈ´Ù..(??) - ´Ù½Ã Çѹø ¸»ÇÏÁö¸¸... Ŭ·¡½º, ±¸Á¶Ã¼, °ø¿ëü, enumÀº C++¿¡¼­´Â »ç¿ëÀÚ Á¤ÀÇ ÀÚ·áÇüÀ¸·Î °£ÁÖ µÇ¹Ç·Î, ±×°ÍµéÀ» ½á¸ÔÀ»¶§ ±»ÀÌ ¾ÕºÎºÐ¿¡ C¿¡¼­Ã³·³ struct ACCESS x; class PRM r; ¿Í °°ÀÌ ÇÒ ÇÊ¿ä´Â ¾ø´Ù. ±×³É, ¾Æ·¡Ã³·³, ACCESS x; ---> "struct" ¸¦ »ý·« PRM r; ---> "class" ¸¦ »ý·« Áï, Çѹø Ŭ·¡½º(±¸Á¶Ã¼,°ø¿ëü)·Î ¸¸µé¾îÁø À̸§(ű×-tag)Àº ±âº»ÀÚ·á ÇüÀÎ int, float, char ó·³ ¾²À̱⠶§¹®¿¡, À̸§¸¸À¸·Îµµ Ç¥ÇöÀÌ °¡´ÉÇÏ ´Ù. (±×·¯³ª ¿ÀÇظ¦ ¹æÁöÇϱâ À§Çؼ­ ºÙ¿©ÁÖÀÚ´Â ÀÇ°ßµµ ¸¹´Ù..) << °³Ã¼(instance), °´Ã¼(object) >> Ŭ·¡½º´Â »ç¿ëÀÚ°¡ »õ·ÎÀÌ ÁöÁ¤ÇÑ ÀÚ·áÇüÀ̶ó°í ÇßÀ¸¸ç, ÀÌ°ÍÀ» º¯¼ö·Î ¼± ¾ðÇÑ °ÍÀ» °³Ã¼ ¶Ç´Â °´Ã¼¶ó°í ÇÑ´Ù. class ACCESS { private: int a; int b; public: void myfunc(); } ACCESS var; <- var¸¦ °³Ã¼ ¶Ç´Â °´Ã¼¶ó°í ÇÑ´Ù. (¿Ö º¯¼ö¶ó°í ¾È ÇÒ±î..) ¸¸¾à¿¡ sizeof(ACCESS)À» ÇßÀ» °æ¿ì °á°ú´Â 4°¡ µÈ´Ù. Áï, Ŭ·¡½ºÀÇ Å©±â´Â µ¥ÀÌÅÍ ¸â¹öµéÀÇ Å©±âÀÇ ÇÕ°ú ÀÏÄ¡ÇÑ´Ù. (¹°·Ð ¿¹¿Üµµ ÀÖ´Ù.) Ŭ·¡½º°¡ ½ÇÁ¦·Î´Â µ¥ÀÌÅÍÀÇ Å©±â¸¸À» Ŭ·¡½ºÀÇ Å©±â·Î ÇÏ´Â ÀÌÀ¯´Â, µ¥ÀÌ ÅÍ´Â »ý¼ºÇÒ¶§¸¶´Ù µû·Îµû·Î ¿µ¿ªÀ» Â÷ÁöÇÏÁö¸¸ ¸â¹öÇÔ¼ö´Â ¿ÀÁ÷ Çϳª¾¿¸¸ Äڵ念¿ª¿¡ ÀÚ¸®Àâ±â ¶§¹®ÀÌ´Ù. µ¥ÀÌÅÍ´Â °¢º¯¼ö¸¶´Ù °¢°¢ ´Ù¸¥ ³»¿ëÀ» Àú ÀåÇØ¾ß Çϳª ÇÔ¼ö´Â µ¥ÀÌÅÍ°¡ ¾î¶² ³»¿ëÀÌ°Ç°£¿¡ µ¿ÀÏÇÑ Ã³¸®¸¦ Çϱ⠶§¹® ÀÌ´Ù. °á·ÐÀûÀ¸·Î Ŭ·¡½ºÀÇ »ý¼º½Ã´Â µ¥ÀÌÅÍÀÇ ¿µ¿ª¸¸ È®º¸µÇ°í ÇÔ¼öµéÀº Ŭ·¡½º¿¡¸¸ À¯ÀÏÇÏ°Ô Á¸ÀçÇÏ¿© °³Ã¼µéÀÌ °øÀ¯ÇÏ´Â °ÍÀÌ´Ù. ¸Þ¸ð¸®¸¦ »ìÆ캸¸é, ACCESS A,B,C; ¶ó°í ¼±¾ðÇßÀ» ¶§, ¦£¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¤ ¦¢ class ACCESS ¦¢ ¦¢ ¦£¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¤ ¦¢ ¦¢ ¦¢ int a ¦¢ ¦¢ ¦¢ ¦¢ int b ¦¢ ¦¢ ¦¢ ¦¢ void myfunc() ¦¢ ¦¢ ¦¢ ¦¦¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¥ ¦¢ ¦¢ A B C ¦¢ ¦¢¦£¦¡¦¡¦¡¦¡¦¡¦¤¦£¦¡¦¡¦¡¦¡¦¤¦£¦¡¦¡¦¡¦¡¦¤ ¦¢ ¦¢¦¢int a,b ¦¢¦¢int a,b ¦¢¦¢int a,b ¦¢ ¦¢ ¦¢¦¦¦¡¦¡¦¡¦¡¦¡¦¥¦¦¦¡¦¡¦¡¦¡¦¥¦¦¦¡¦¡¦¡¦¡¦¥ ¦¢ ¦¦¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¥ µ¥ÀÌÅÍ¿µ¿ª ȤÀº ½ºÅÃ,Èü << Ŭ·¡½º ¸â¹ö Æ÷ÀÎÅÍ >> C++¿¡¼­´Â »õ·Î µîÀåÇÑ .*, .->¿¬»êÀÚ°¡ ÀÖ´Ù. (»ç¿ëºóµµ°¡ ³·À¸¹Ç·Î ¸ð¸£´Â ÆíÀÌ Â÷¶ó¸® ¼ÓÆíÇÏ´Ù.. ±¦È÷ Çò°¥¸°´Ù..) ÀÌ ¿¬»êÀÚ´Â ÇÑ Å¬·¡½º³»ÀÇ Æ¯Á¤¸â¹ö¹ÝÀ» °¡¸£Å°´Â Æ÷ÀÎÅ͸¦ ¸¸µé ¼ö ÀÖ°Ô ÇØÁØ´Ù. struct ACCESS { int a; int b; }; ACCESS A; ¿Í °°ÀÌ ±¸Á¶°¡ ¼±¾ðµÇ¾ú°í, A¶ó´Â °´Ã¼¸¦ ¸¸µé¾ú´Ù°í ÇÏÀÚ. ACCESSS.a¿¡ 1À» ³Ö°í ½ÍÀ¸¸é ACCESS.a = 1; °ú °°ÀÌ Çϰųª,Á¤¼öÇü Æ÷ÀÎÅÍ int *ip;¸¦ »ç¿ëÇØ ´ÙÀ½°ú °°ÀÌ ÇÒ ¼ö ÀÖ´Ù. int *p; p = &ACCESS.a; *p = 1; ´ÙÀ½°ú °°Àº ¹æ¹ýÀ¸·Î ÇÑ Å¬·¡½ºÀÇ Æ¯Á¤ ¸â¹ö¸¦ °¡¸®Å°´Â Æ÷ÀÎÅͶó´Â °ÍÀ» ¸¸µé ¼ö ÀÖ´Ù. int ACCESS::*p; // A¾ÈÀÇ Á¤¼öÇü µ¥ÀÌÅ͸¦ °¡¸£Å°´Â Æ÷ÀÎÅÍ º¯¼ö ¼±¾ð p = &ACCESS::a; // ÃʱâÈ­ (aÀÇ Å¬·¡½º³» ¿É¼Â¹øÁö°¡ ´ëÀÔ ´ëÀԵȴÙ.) A.*p = 1; // ÂüÁ¶ÇÏ´Â ¹æ¹ý ¿©±â¼­ ACCESSÇüÀ¸·Î ¼±¾ðµÈ ƯÁ¤ÇÑ º¯¼ö(A)´Â ¾ð±ÞµÇÁö ¾Ê¾Ò´Ù´Â °Í¿¡ À¯ ÀÇÇÑ´Ù. ÀÌ Æ÷ÀÎÅʹ ƯÁ¤ Ŭ·¡½º °´Ã¼ÀÇ Ã¹¹ø° ÁÖ¼Ò¿¡ ´ëÇÑ ¿É¼Â(OFFSET) ¿ªÇÒ¸¸ ÇÑ´Ù. ¸¶Âù°¡Áö·Î ->* µµ ÀÌ·¸°Ô ¼³¸íÇÒ ¼ö ÀÖ´Ù. ACCESS *Ap; // ACCESSÇü Ŭ·¡½º ÀÚ·áÇüÀ» °¡¸£Å°´Â Æ÷ÀÎÅÍ ¼±¾ð Ap = &A; // Ap´Â A¶ó´Â °´Ã¼¸¦ °¡¸£Å´ int ACCESS::*p; // À§¿Í °°´Ù. p = &ACCESS::a; // À§¿Í °°´Ù. Ap->*p = 1; º¹ÀâÇϱ⸸ ÇÏ°í ¾ò´Â °ÍÀº º°·Î ¾ø´Â °ÍµéÀÌ´Ù. << ¾ï¼¼½º ±ÇÇÑ ÁöÁ¤ÀÚ(Á¢±Ù Á¦¾î ¸í½ÃÀÚ) - (member access specifier) >> C++¿¡¼­´Â ¾ï¼¼½º ±ÇÇÑ ÁöÁ¤ÀÚ¿¡ ÀÇÇؼ­ Ŭ·¡½ºÀÇ ¸â¹ö¸¦ ¼û±æ ¼ö°¡ ÀÖ´Ù. Áï, ¸â¹öÀÇ °ø°³, ºñ°ø°³ ¿©ºÎ¸¦ ÁöÁ¤ÇÒ ¼ö°¡ ÀÖ´Ù. * ¸â¹öÀÇ ºñ°ø°³·Î ¾òÀ» ¼ö ÀÖ´Â À̵æ. [1] ¿ëµµ°¡ Á¤ÇØÁø ¸â¹öµéÀ» ÇÁ·Î±×·¥ÀÇ ´Ù¸¥ ºÎºÐ¿¡¼­ °Çµå¸®Áö ¸øÇϵµ·Ï ÇÒ ¼ö ÀÖ´Ù. - ÀÌ°ÍÀ» Á¤º¸ÀºÆó(information hiding)À̶ó°í ÇÑ´Ù. [2] Ŭ·¡½ºÀÇ µ¶¸³¼ºÀ» º¸ÀåÇØÁØ´Ù. (°´Ã¼¶ó´Â ¸»ÀÌ ½Ç°¨³­´Ù....) ±ÇÇÑÁöÁ¤¿¡´Â ´ÙÀ½ ¼¼°¡Áö°¡ ÀÖ´Ù. ¨ç private: ÀÌ ¼Ó¼º ÁöÁ¤ ÀÌÈÄÀÇ ¸â¹öµéÀº ¿À·ÎÁö ÀÌ Å¬·¡½º³»ÀÇ ¸â¹öÇÔ¼ö¸¸ ¾ï¼¼ ½º°¡ °¡´ÉÇÏ´Ù. Ŭ·¡½º ¹ÛÀ¸·Î´Â ¾Ë·ÁÁöÁö ¾ÊÀ¸¸ç Ŭ·¡½º¿¡ ¼ÓÇÏÁö ¾Ê ´Â ÇÔ¼ö¶ÇÇÑ °Çµå¸®Áö ¸øÇÑ´Ù. ÀÌ ¼Ó¼ºÀÇ ¸â¹öÇÔ¼ö¶ÇÇÑ È£ÃâÇÒ ¼ö ¾ø´Ù. ½ÉÁö¾î °è½Â(ÈÄ¼Õ ¶Ç´Â ÆÄ»ý)Ŭ·¡½º¿¡°ÔÁ¶Â÷µµ Á¢±ÙÀÌ ºÒÇãµÈ´Ù. (Ŭ·¡½ºÀÇ ÀºÆó¸¦ °¡´ÉÇÏ°Ô ÇØÁØ´Ù.) ¨è public: ÀÌ ¼Ó¼º ÁöÁ¤ ÀÌÈÄÀÇ ¸â¹öµéÀº Ŭ·¡½º ¿ÜºÎ·Îµµ ¾Ë·ÁÁö¸ç ¿ÜºÎ¿¡¼­ ÂüÁ¶¿Í º¯°æÀÌ °¡´ÉÇÏ´Ù. ¨é protected: ÀÌ ¼Ó¼º ÁöÁ¤ ÀÌÈÄÀÇ ¸â¹öµéÀº private¿Í ¸¶Âù°¡Áö·Î Ŭ·¡½º³»ÀÇ ¸â¹ö ÇÔ¼öµé¿¡°Ô¸¸ °ø°³µÈ´Ù. ´Ü, Ŭ·¡½º °è½ÂÀÌ µÉ °æ¿ì °è½ÂµÈ Ŭ·¡½º¿¡ ¼Ó ÇÑ ¸â¹öÇÔ¼öµéµµ ÀÌ ¼Ó¼ºÀÇ ¸â¹öµéÀ» °Çµå¸± ¼ö ÀÖ´Ù. (°è½ÂÀÌ ÀÌ·ç¾îÁöÁö ¾ÊÀ¸¸é private¿Í ´Ù¸¦ ¹Ù ¾ø´Ù.) ex) class ACCESS { private: int a; <- private ¼Ó¼º protected: char c; <- protected ¼Ó¼º public: int myfunc(); <- public ¼Ó¼º void sub(); } * struct¿¡¼­ ¾ï¼¼½º ±ÇÇÑ ÁöÁ¤ÀÚÀÇ default´Â -> publicÀÌ°í, class¿¡¼­ ¾ï¼¼½º ±ÇÇÑ ÁöÁ¤ÀÚÀÇ default´Â -> privateÀÌ´Ù. * µ¥ÀÌÅÍ ¸â¹ö´Â private·Î, ¸â¹öÇÔ¼ö´Â publicÀ¸·Î ¼±¾ðÇÏ´Â °ÍÀÌ '°üÇà'ÀÌ´Ù. - µ¥ÀÌÅÍÀÇ À¯½ÇÀ» ¹æÁöÇϸç, º¯°æ½Ã¿¡´Â ¸â¹öÇÔ¼ö·Î¸¸ °¡´ÉÇÏ°Ô ÇÑ´Ù. . . << »ý¼ºÀÚ(constructor) >> C¿¡¼­ ±¸Á¶Ã¼°¡ ¼±¾ð°ú µ¿½Ã¿¡ ÃʱâÈ­°¡ ºÒ°¡´ÉÇϵíÀÌ C++¿¡¼­ Ŭ·¡½ºµµ ¼±¾ð°ú µ¿½Ã¿¡ ÃʱâÈ­°¡ ºÒ°¡´ÉÇÏ´Ù. ±¸Á¶Ã¼´Â Çʵå(¸â¹ö)º°·Î ´ëÀÔÀ» Çؼ­ ÃʱâÈ­½ÃÄÑ ÁÖ¾úÀ¸³ª, Ŭ·¡½º´Â »ý¼ºÀÚ¶ó´Â ¸â¹öÇÔ¼ö¸¦ »ç¿ëÇؼ­ °´Ã¼¸¦ ÃÊ ±âÈ­½ÃÄÑÁØ´Ù. Áï, Ŭ·¡½º´Â º¹ÀâÇÑ ±¸Á¶¸¦ °¡Áö¹Ç·Î ÀÏÀÏÀÌ ´ëÀÔÀÌ °ï¶õÇÏ ¹Ç·Î ¸â¹ö¿¡ °ªÀ» ºÎ¿©ÇÏ´Â ÀÏÀ» »ý¼ºÀÚ¿¡ ÀÇÇØ ÇѲ¨¹ø¿¡ ó¸®ÇØÁØ´Ù.) ¹Ý´ë·Î °´Ã¼ÀÇ ¼Ò¸êÀ» ´ã´çÇÏ´Â ÇÔ¼ö¸¦ Æı«ÀÚ¶ó°í ÇÑ´Ù. Áï, ÇϳªÀÇ °´Ã¼(°³Ã¼)°¡ »ý¼ºµÇ´Â °úÁ¤Àº ´ÙÀ½°ú °°´Ù. ¦£¦¡¦¡¦¡¦¡¦¡¦¤ ¦£¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¤ ¦£¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¤ ¦¢class ¼±¾ð¦¢¦¡¡æ¦¢instance ¼±¾ð ¦¢¦¡¡æ¦¢ »ý¼ºÀÚ È£Ãâ ¦¢ ¦¦¦¡¦¡¦¡¦¡¦¡¦¥ ¦¦¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¥ ¦¦¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¥ ¨ç »ý¼ºÀڴ Ŭ·¡½ºÀÇ À̸§°ú µ¿ÀÏÇÑ À̸§À» Áö´Ñ ÇÔ¼öÀÌ´Ù. »ý¼ºÀÚ°¡ º¸Åë ÇÔ¼öµé°úÀÇ °¡Àå Å« Â÷À̴ Ŭ·¡½ºÀÇ À̸§°ú µ¿ÀÏÇÑ À̸§À» »ç¿ëÇÑ´Ù´Â Á¡ÀÌ´Ù. Áï, Ŭ·¡½º¸íÀÌ ACCESSÀÌ¸é »ý¼ºÀÚÀÇ À̸§Àº ACCESS() °¡ µÈ´Ù. »ý¼ºÀÚ´Â °´Ã¼°¡ ¸¸µé¾îÁú ¶§ ÀÚµ¿ÀûÀ¸·Î È£ÃâµÇ¾î °´Ã¼¸¦ ÃʱâÈ­ ½ÃÅ°´Â ¿ªÇÒÀ» ÇÑ´Ù. (ÄÄÆÄÀÏ·¯°¡ ÀÚµ¿ÀûÀ¸·Î È£ÃâÇϹǷΠ»ç¿ëÀÚ°¡ ÀÓÀǷΠȣÃâÀÌ ºÒ°¡´ÉÇÏ´Ù.) ex) #include #include class ACCESS { public: int x; int y; char c; void put() { gotoxy(x,y); putch(c); } ACCESS(int,int,char); // »ý¼ºÀÚÀÇ ¼±¾ð (¿ÜºÎÁ¤ÀÇ ¹æ¹ý»ç¿ë) }; void ACCESS::ACCESS(int a,int b,char ch) { // »ý¼ºÀÚÀÇ Á¤ÀÇ x=a; y=b; c=ch; } void main(void) { clrscr(); ACCESS PRM(5,5,'A'); // °´Ã¼ÀÇ »ý¼º°ú µ¿½Ã¿¡ ÃʱâÈ­! /* ACCESS PRM=ACCESS(5,5,'A'); ÀÌ·¯ÇÑ Çüŵµ °¡´ÉÇÏÁö¸¸ ÁÖ·Î À§ÀÇ °ÍÀ» Áñ°Ü¾´´Ù. */ PRM.put(); } À§¿Í °°ÀÌ »ý¼ºÀÚ´Â °´Ã¼°¡ »ý¼ºµÉ ¶§ Ưº°È÷ È£ÃâÇÏÁö ¾Ê¾Æµµ °´Ã¼ÀÇ ¼±¾ð ½Ã¿¡ ÃʱⰪÀ»Àμö·Î Àü´ÞÇØÁֱ⸸ Çϸé ÀÚµ¿ÀûÀ¸·Î È£ÃâµÈ´Ù. Áï, º¯¼ö(¸â ¹ö)°¡ ¸Þ¸ð¸®¿¡ ÇÒ´çµÇ°í ³­ Á÷ÈÄ¿¡ »ý¼ºÀÚ°¡ È£ÃâµÇ¾îÁ®¼­ ÃʱâÈ­¸¦ ½ÃÄÑÁØ ´Ù. ¨è °´Ã¼ÀÇ »ý¼º(ÃʱâÈ­) ½Ã±â [1] ÀÚµ¿(auto)º¯¼öÀÎ °æ¿ì´Âº¯¼ö°¡ Á¤Àǵɶ§ »ý¼ºÀÚ°¡ È£ÃâµÈ´Ù. [2] Á¤Àû(static)º¯¼öÀÎ °æ¿ì´Â ÇÁ·Î±×·¥ÀÌ ½ÇÇàÀ» ½ÃÀÛÇÒ¶§(mainÇÔ¼ö È£ÃâÁ÷Àü) »ý¼ºÀÚ°¡ È£ÃâÀÌ µÈ´Ù. [3] µ¿Àû(dynamic)º¯¼ö´Â new¸í·É¿¡ ÀÇÇØ »ý¼ºÀÌ µÈ´Ù. ¨é »ý¼ºÀÚÇÔ¼ö´Â °á°ú°ªÀÌ ¸®ÅÏ°ªÀ» ¸í½ÃÇؼ­´Â ¾È µÈ´Ù. (voidÁ¶Â÷ ºÒÇã) ¨ê »ý¼ºÀÚ´Â ´ÙÇü¼º¿¡ ÀÇÇؼ­ ¿©·¯°³ Á¸ÀçÇÒ ¼ö°¡ ÀÖ´Ù. Áï, ´ÙÀ½°ú °°Àº »ý¼ºÀÚµµ µ¿½Ã¿¡ Á¸ÀçÇÒ ¼ö ÀÖ´Ù. ¹°·Ð ÀÌ·¸°Ô ÇÒ ¶§´Â ´ÙÀ½°ú °°ÀÌ »ý¼ºÀÚÀÇ ÇÁ·ÎÅäŸÀÔµéÀ» ¹àÇôÁÖ¾î¾ß ÇÑ´Ù. Áï, »ý¼ºÀÚ°¡ ¿©·¯ °³ ÀÖ´Ù¸é ÇÁ·ÎÅäŸÀÔ ¶Ç ÇÑ ÀÏÀÏÀÌ ´Ù ¹àÇôÁÖ¾î¾ß ÇÑ´Ù. class ACCESS { public: int x; int y; char c; void put(); ACCESS(int,int,char); // »ý¼ºÀÚ ÇÔ¼ö ACCESS(int,char); // ¿ª½Ã »ý¼ºÀÚ ÇÔ¼ö ACCESS(); // ¿ª½Ã! }; . : ACCESS A(10,8,'S'); ACCESS B(20,'T'); // ÀÌ·± ½ÄÀ¸·Î »ç¿ë°¡´É ACCESS C; C¶ó´Â °´Ã¼ »ý¼º½Ã¿Í °°ÀÌ »ý¼ºÀÚÀÇ Àμö¸¦ ÁöÁ¤ÇÏÁö ¾ÊÀ» ¼öµµ ÀÖÀ¸¸ç, ÀÌ ¶§´Â °´Ã¼ÀÇ ¼±¾ð½Ã¿¡ È£ÃâÀ» À§ÇÑ °ýÈ£¸¦ ºÙ¿©¼­´Â ¾ÈµÈ´Ù. Áï, ACCESS C(); ©ä ACCESS C; ©Û ¿Ö³ÄÇϸé ÄÄÆÄÀÏ·¯°¡ ¸®ÅÏ°ªÀÌ ACCESSÀÎ ÇÔ¼ö C¸¦ ¼±¾ðÇÏ´Â ÁÙ ¾Ë°í Âø°¢ÇÏ ±â ¶§¹®ÀÌ´Ù. - ¸¸¾à¿¡ »ý¼ºÀÚ°¡ ¾ø´õ¶óµµ ÃʱâÈ­°¡ ÀÌ·ç¾îÁöÁö ¾Ê¾ÒÀ» »ÓÀ̹ǷΠ¿¡·¯´Â ¹ß»ýÇÏÁö ¾Ê´Â´Ù. (±¸Á¶Ã¼¿Í ¸¶Âù°¡Áö~) - ¾û¶×ÇÑ µ¥ÀÌÅÍÇüÀ¸·Î ÃʱâÈ­½ÃÄÑÁØ´Ù¸é ´ç¿¬È÷ ¿¡·¯°¡ ¹ß»ýÇÑ´Ù. ¨ë »ý¼ºÀÚµµ ÇÔ¼öÀ̹ǷΠµðÆúÆ® ÀμöÀÇ ÁöÁ¤ÀÌ °¡´ÉÇÏ´Ù. - µðÆúÆ®°ªÀ» ÀÌ¿ëÇÒ ¶§µµ ¿ª½Ã ACCESS C; ÀÌ·± ÇüÅ·Π½á¾ßÇÑ´Ù. ¨ì »ý¼ºÀÚ ÇÔ¼öÀÇ Á¢±ÙÁ¦¾î¸í½ÃÀÚ´Â ¹Ýµå½Ã publicÇü¿©¾ß ÇÑ´Ù. - ¿ÜºÎ¿¡¼­ ÂüÁ¶°¡ °¡´ÉÇØ¾ß Çϱ⠶§¹®ÀÌ´Ù. << Æı«ÀÚ (¶Ç´Â ¼Ò¸êÀÚ - destructor) >> »ý¼ºÀÚ¿Í ¹Ý´ëµÇ´Â °³³äÀ¸·Î¼­, Ŭ·¡½º¿¡ ÀÇÇØ »ý¼ºµÈ °´Ã¼¸¦ ¼Ò°Å½ÃÄÑ ¸Þ ¸ð¸® ³¶ºñ¸¦ ¸·¾ÆÁØ´Ù. Æı«ÀÚ´Â »ý¼ºÀÚ¸¸Å­À̳ª ºó¹øÇÏ°Ô »ç¿ëµÇ´Â °ÍÀº ¾Æ´Ï°í, ¾ø¾îµµ ¹«¹æÇÑ °æ¿ì°¡ ÀÖ´Ù. Æı«Àڴ ƯÈ÷ µ¿Àû¸Þ¸ð¸® ÇÒ´ç½Ã¿¡ ¹Ýµå½Ã ÇÊ¿äÇÏ´Ù. (µ¿Àû¸Þ¸ð¸® ÇÒ´ç½Ã¿¡´Â »ç¿ë ÈÄ¿¡ ¹Ýµå½Ã ÀÓÀÇÀûÀ¸·Î ÇØ Á¦½ÃÄÑÁà¾ßÇÑ´Ù´Â °ÍÀ» ÀØÀ¸¸é ¾ÈµÈ´Ù!!) Æ÷ÀÎÅ͸¦ »ç¿ëÇÏ´Â ¸â¹ö°¡ ÀÖÀ» °æ¿ì ±× Æ÷ÀÎÅÍ ¸â¹ö´Â ÁÖ¼Ò¸¸ ÃëÇÏ°í ±× ÁÖ¼Ò°¡ °¡¸®Å°°í ÀÖ´ø Áö¿ª¿¡´Â ¿©·¯ °ªµéÀÌ ¹æÄ¡µÇ¾î ÀÖÀ» °ÍÀÌ´Ù. (ÀÌ·¸°Ô ¹æÄ¡µÇ¾î ÀÖ´Â ¿©·¯°ªµéÀº °´Ã¼¿Í ÀüÇô °ü°è°¡ ¾ø´Ù. ¿ÀÁ÷ ÁÖ¼Ò(¼±µÎ¹øÁö)¸¸ °ü°è°¡ ÀÖÀ» »ÓÀÌ´Ù.) ±× ÁÖ¼Ò¸¦ ÀúÀåÇß´ø º¯¼ö°¡ ÇØÁ¦µÇ¾ú´Ù°í Çؼ­ ±× ³» ¿ë¹°µéÀÌ ¾ø¾îÁö´Â °ÍÀº ¾Æ´Ï¹Ç·Î Æı«ÀÚ¿¡ ÀÇÇؼ­ ¸Þ¸ð¸®¸¦ ÇØÁ¦½ÃÄÑÁà¾ß ÇÑ´Ù. ±»ÀÌ µ¿ÀûÇÒ´çÀÌ ¾Æ´Ï´õ¶óµµ ¿©·¯°¡Áö ¿ëµµ·Î »ç¿ëÇÒ ¼ö ÀÖ´Ù. °´Ã¼°¡ µ¿ ÀÛÇÒ È¯°æÀ» ¼³Á¤ÇÏ°í ³ª¼­ °´Ã¼°¡ »ç¶óÁú ¶§ º¯°æµÈ ȯ°æÀ» ¿øÀ§Ä¡½Ãų ¶§ ¿¡ ¾ÆÁÖ À¯¿ëÇÏ°Ô ¾²ÀÏ ¼ö ÀÖ´Â °ÍÀÌ´Ù. ex) textattr()ÇÔ¼ö¸¦ ÀÌ¿ëÇÑ ¹®ÀÚ¼Ó¼º º¯È­ÈÄ ¼Ó¼ºÀ» ´Ù½Ã ¿øÀ§Ä¡ ½Ãų ¼ö ÀÖ´Ù. ƯÁ¤ÇÑ ±×·¡ÇÈ »óųª Åë½ÅÆ÷Æ®Á¶Á¤µéÀ» ¸¶Ä£ ÈÄ ´Ù½Ã ÃʱⰪÀ¸·Î ¼¼ÆýÃų ¼ö ÀÖ´Ù. - Áï, Æı«ÀÚ´Â »ý¼ºÀÚ°¡ ¹ú·Á³õ¾Ò´ø ÀϵéÀÇ µÞó¸®(?)¸¦ ¸Ã¾ÆÁØ´Ù! * Æı«ÀÚÀÇ Æ¯Â¡µé ¨ç »ý¼ºÀÚ¿Í ¸¶Âù°¡Áö·Î À̸§ÀÌ Á¤ÇØÁ® ÀÖÀ¸¸ç Ŭ·¡½º ¸í ¾Õ¿¡ ~¸¦ ºÙÀÎ °ÍÀÌ µÈ´Ù. ex) ~ACCESS() ¨è Àμö¿Í °á°ú°ªÀÌ ¾ø´Ù. (»ý¼ºÀÚ¿Í ¸¶Âù°¡Áö·Î voidÇüÁ¶Â÷ ºÒÇã) ¨é ÄÄÆÄÀÏ·¯¿¡ ÀÇÇؼ­ ÀÚµ¿ÀûÀ¸·Î È£ÃâµÈ´Ù. (»ý¼ºÀÚµµ ¸¶Âù°¡Áö..) ¨ê »ý¼ºÀÚ¿Í ´Þ¸® ´ÙÁßÁ¤ÀÇ°¡ ºÒ°¡´ÉÇÏ´Ù. ¨ë »ý¼ºÀÚ¿Í ¸¶Âù°¡Áö·Î È£ÃâÇÏÁö ¾Ê¾Æµµ ÄÄÆÄÀÏ·¯¿¡ ÀÇÇؼ­ ÀÚµ¿ÀûÀ¸·Î È£ÃâÀÌ µÈ´Ù. ´Ü, »ý¼ºÀÚ¿Í´Â ´Þ¸® ÀÓÀÇÀû È£Ãâµµ °¡´ÉÇÏ´Ù. - ÀÌ ¶§´Â Æı«ÀÚÀÇ ¿ÏÀüÇÑ À̸§À» ½á¾ßÇϸç, °´Ã¼°¡ ¼Ò¸êµÇ´Â °ÍÀÌ ¾Æ´Ï¶ó º¸ÅëÇÔ¼ö·Î¼­ÀÇ ¿ªÇÒ¸¸ ÇÑ´Ù. Áï, ¸â¹öÇÔ¼ö¸¦ ÂüÁ¶ÇÏ´Â °Í°ú ´Ù¸¦ ¹Ù°¡ ¾ø´Ù. (ÀÌ·± ¾²ÀÓÀº ¿Ø¸¸Çؼ­´Â »ï°£´Ù.) ex) ÀÓÀÇÀû È£Ãâ ¿¹ : var.ACCESS::~ACCESS(); ex) Æı«ÀÚ »ç¿ëÀÇ ¿¹ class ACCESS { private: char *name; public: ACCESS(char *str) { name = new char[strlen(str)+1]; } ~ACCESS() { delete name; } }; main() { ACCESS var("Park Dong Bin"); } ## »ý¼ºÀÚ¿Í Æı«ÀÚÀÇ Æ¯Â¡ Á¤¸® ## [1] À̸§(¸íĪ)ÀÌ Á¤ÇØÁ® ÀÖ´Ù. [2] ¸®ÅÏ°ªÀÌ ¾ø´Ù. (½ÉÁö¾î voidÇü±îÁö) [3] »ý¼ºÀÚ´Â Àμö°¡ ÀÖ´Ù.(¾øÀ» ¼öµµ ÀÖ´Ù.) - ´ÙÁßÁ¤ÀÇ °¡´É Æı«ÀÚ´Â ¹Ýµå½Ã ¾ø¾î¾ß ÇÑ´Ù. - ´ÙÁßÁ¤ÀÇ ºÒ°¡´É [4] ¿øÄ¢ÀûÀ¸·Î Ŭ·¡½ºÀÇ °ø°³ºÎ(public)¿¡ µÎ¾î¾ßÇÑ´Ù. [5] »ý¼ºÀÚ¿Í Æı«ÀÚ¸¦ °¡Áö´Â Ŭ·¡½º´Â unionÀÇ ¸â¹ö°¡ µÉ¼ö ¾ø´Ù. [6] »ç¿ëÀÚ°¡ È£ÃâÇÏÁö ¾Ê°í ÀÚµ¿ÀûÀ¸·Î È£ÃâµÈ´Ù. (Æı«ÀÚ´Â »ç¿ëÀÚ È£Ãâ°¡´É) [7] µðÆúÆ® °ªÀÌ Á¸ÀçÇϸç, ÁöÁ¤ÇÏÁö ¾Ê¾Ò´Ù¸é ¾Æ¹«°Íµµ ÇÏÁö ¾Ê´Â °ÍÀÌ µÈ´Ù. [8] »ý¼ºÀÚ´Â ¾î¶² ÇüÀÇ ÀÎÀÚ°¡ ¿Íµµ »ó°ü¾ø´Ù.´Ü X¶ó´Â Ŭ·¡½º°¡ ¿Ã °æ¿ì X::X(X&)´Â º¹Á¦»ý¼ºÀÚ·Î Ãë±ÞÇÑ´Ù.¿¹¿ÜÀûÀ¸·Î X::X(X)´Â ¿Ã¼ö ¾ø´Ù. Áï, Ŭ·¡½º »ý¼ºÀÚÀÇ ÀÎÀÚ¿¡ ±× Ŭ·¡½º°¡ ¿Ã¼ö´Â ¾ø´Ù. [9] »ý¼ºÀÚ³ª Æı«ÀÚ´Â friend, staticµµ µÉ ¼ö ¾ø´Ù. [10] Ŭ·¡½ºº¯¼ö¸¦ °¡¸®Å°´Â Æ÷ÀÎÅÍ°¡ ¹üÀ§¸¦ ¹þ¾î³ª´Â °æ¿ì ¼Ò¸êÀÚ´Â ÀÚµ¿ À¸·Î ½ÇÇàµÇÁö ¾Ê´Â´Ù. ´ë½Å »ç¿ëÀÚ°¡ delete¸¦ »ç¿ë Á÷Á¢ ¸Þ¸ð¸®¸¦ ÇØÁ¦ÇØ¾ß ÇÑ´Ù. [11] ¼±Á¶ÀÇ »ý¼ºÀÚ³ª Æı«ÀÚ´Â Èļտ¡°Ô °è½ÂµÇÁö ¾Ê´Â´Ù.µû¶ó¼­ ÈļÕÀÇ [11] ¼±Á¶ÀÇ »ý¼ºÀÚ³ª Æı«ÀÚ´Â Èļտ¡°Ô °è½ÂµÇÁö ¾Ê´Â´Ù.µû¶ó¼­ ÈļÕÀÇ »ý¼ºÀÚ¿Í Æı«ÀÚ´Â ¹Ýµå½Ã ÀçÁ¤ÀǵǾî¾ß ÇÑ´Ù.±×·¯³ª.ÈļÕÀÌ ¼±Á¶ÀÇ »ý¼ºÀÚ¿Í Æı«ÀÚ¸¦ È£ÃâÇÏ´Â °ÍÀº °¡´ÉÇÏ´Ù. [12] »ý¼ºÀÚ´Â °¡»óÇÔ¼ö(virtual function)ÀÏ ¼ö ¾ø´Ù. [13] Æı«ÀÚ´Â °¡»óÇÔ¼öÀϼö ÀÖ´Ù. ¼±Á¶ÀÇ ¼Ò¸êÀÚ°¡ °¡»óÇÔ¼ö¸é ÈļÕÀÇ ÆÄ ±«ÀÚµµ °¡»óÇÔ¼öÀÌ´Ù. [14] exitÇÔ¼ö·Î ÇÁ·Î±×·¥ÀÇ ½ÇÇàÀ» ¸¶Ä¥½Ã Àü¿ªº¯¼ö´Â Á¤»óÀûÀ¸·Î ÇØÁ¦µÇ ³ª »ý¼ºµÈ Áö¿ªº¯¼ö´Â ÇØÁ¦µÇÁö ¾Ê´Â´Ù. [15] abortÇÔ¼ö·Î ÇÁ·Î±×·¥ ½ÇÇàÀÌ ³¡³¯ ¶§´Â ¼Ò¸êÀÚ´Â ÀüÇô È£ÃâµÇÁö ¾Ê´Â ´Ù. * À§¿¡¼­ ¾ÆÁ÷ ¾ð±ÞÀÌ µÇÁö ¾ÊÀº ³»¿ëµéÀº µÚ¿¡ ³ª¿Â´Ù. (ÀÏ´Ü Á¤¸®¸¸ ÇصÎÀÚ.) . . PRESENTED by . * __ ____ ____. ____ ____* ____ the / |/ ___|/ ___|| ___|/ _*|/ __| registered / / | |___ |___ | _| \_*_ \\___ \ trademark of /_/|_|\____|\____||____*|____/|____/ MicroSoft Inc. -1995- . * * * Ãâ·ÂÀÌ ³¡³µ½À´Ï´Ù. [Enter]¸¦ ´©¸£½Ê½Ã¿À.