ÃÑ ÆäÀÌÁö ¼ö : 3224
![]()
|
Facebook Joinc ±×·ì
Joinc QA »çÀÌÆ®
![]()
Tweet
joinc´Â Firefox¿Í chrome¿¡¼ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.
1 ¹®¼Á¤º¸1.1 ÀÛ¼ºÀÚ Á¤º¸
1.2 È÷½ºÅ丮
2 °´Ã¼ÁöÇâ2.1 °´Ã¼ÁöÇâÀº À߸øµÈ ¹ø¿ªÀΰ¡ ?
°´Ã¼ÁöÇâÀº ÄÄÇ»ÅÍ ¼ÒÇÁÆ®¿þ¾î °øÇп¡¼ »ç¿ëÇÏ´Â ¿ë¾î·Î Object-orientedÀ» ¹ø¿ªÇÑ ´Ü¾î´Ù. À̰ÍÀ» °´Ã¼ÁöÇâÀ̶ó°í ¹ø¿ªÇÏ´Â°Ô Object-oriented ¶ó´Â º»·¡ÀÇ Àǹ̸¦ Á¦´ë·Î Ç¥ÇöÇØÁÙ ¼ö ÀÖ´À³Ä ¾Æ´Ï³Ä¸¦ ¹®Á¦»ï´Â °æ¿ìµµ ÀÖ´Ù. ¿ì¸®°¡ ÀϹÝÀûÀ¸·Î »ç¿ëÇØ¿Ô´ø °´Ã¼¿Í ¿µ¾î±Ç¿¡¼ »ç¿ëÇÏ´Â Object´Â Áý<->Houseó·³ ¸íÈ®È÷ Àǹ̰¡ ÀÏÄ¡ÇÏÁö ¾ÊÀ¸¹Ç·Î ±×³É ¿ÀºêÁ§Æ® ¿À¸®¿£Æ®µå¶ó°í ±×´ë·Î Àоî¾ß ÇÑ´Ù´Â Àǰߵµ ÀÖ´Ù.
ÀÌ·¯ÇÑ ³í¶õÀÌ »ý±â´Â ÀÌÀ¯´Â Object¶ó´Â ´Ü¾î°¡ ´ÙºÐÈ÷ öÇÐÀûÀÎ Àǹ̸¦ Æ÷ÇÔÇϰí Àֱ⠶§¹®ÀÌ´Ù. ¼¾ç öÇÐÀº ±×¸®½º öÇÐÀ» Åä´ë·Î Çϰí Àִµ¥, ±×¸®½º öÇÐÀº ÀÚ¿¬¿¡¼ µ¶¸³ÀûÀÎ »ç¹°¿¡ ´ëÇÑ °üÂûÀ» ÅëÇÑ Å½±¸°¡ öÇÐÀû (°úÇÐÀû)»ç°íÀÇ ¹æ¹ý·ÐÀÌ¿´´Ù. ¸£³×»ó½º½Ã´ëÀÇ Ã¶ÇÐÀº ÀÌ·¯ÇÑ ±×¸®½º öÇÐÀ» °è½ÂÇϰí ÀÖ°í Áö±Ý±îÁö À̾îÁö°í ÀÖ´Ù. °í´ë ±×¸®½º¿¡¼ ÀÚ¿¬ ¹ß»ý¼³°ú °°Àº ¼³ÀÌ ³ª¿Â °Íµµ ÀÌ·¯ÇÑ °üÂûÀÇ °á°ú¿´´Ù. ¾Æ¸®½ºÅäÅÚ·¹½º°¡ °üÂûÀ» ÇØº¸´Ï, ½âÀº ³ª¹«¿¡¼ ÀúÀý·Î ¹ú·¹°¡ »ý±â°í ½Ãü¿¡´Â ±¸´õ±â°¡ »ý±â´õ¶õ °ÍÀÌ´Ù. ÀÌ·¯ÇÑ °üÂûÀÇ °á°ú ÀÚ¿¬ ¹ß»ý¼³À̶ó´Â °¡¼³À» ¼¼¿ü´Ù. ¹°·Ð À߸øµÈ ¼³À̱ä ÇÏÁö¸¸ ¸»ÀÌ´Ù. (´ç½Ã °üÂû µµ±¸ÀÇ ÇѰè·Î ÀÎÇÑ À߸øµÈ °á°ú µµÃâ)
¹Ý¸é µ¿¾ç öÇÐÀº ÀÚ¿¬À» ÀÌ·ç´Â °³Ã¼µé º¸´Ù´Â À̵éÀ» ¸ðµÎ Æ÷ÇÔÇÑ ÀÚ¿¬ ±× ÀÚü¸¦ Æ÷°ýÀûÀ¸·Î ´Ù·é´Ù. ¿ìÁÖ¿Í ÀÚ¿¬¿¡¼ÀÇ ¿¡³ÊÁöÀÇ È帧, Àüü¿ÍÀÇ Á¶È¿Í ±ÕÇüÀÇ ¿ø¸®¿¡ ÀÌÇØ¸¦ ÁÖ¿äÇÏ°Ô ´Ù¸¥´Ù. °ÔÀÓ¿¡¼µµ ÀÌ·¯ÇÑ Â÷À̰¡ ³ªÅ¸³ª´Â °ÍÀ¸·Î º¸ÀδÙ.
¹°°í±â¸¦ ´Ù·é´Ù°í Çϸé, ±×¸®½º öÇÐÀÚµéÀº ¹°°í±â°¡ °¡Áö´Â ´Ù¸¥ »ç¹°°ú ºñ±³µÇ´Â Ư¡À» ޱ¸ÇÏ´Â ¹Ý¸é µ¿¾çöÇÐÀÚ´Â ¹°°í±â¿Í ¹°ÀÌ ¾î¶»°Ô Á¶È¸¦ ÀÌ·ç´ÂÁö¸¦ ޱ¸ÇÑ´Ù.
ÀÌ·¯ÇÑ µ¿¼¾ç öÇÐÀÇ Â÷ÀÌ´Â ¹®ÈÀÇ Â÷À̸¦ ¸¸µé¾ú°í, Áö±Ýµµ ¿µÇâÀ» ¹ÌÄ¡°í ÀÖ´Ù. ½ÇÁ¦ µ¿¼¾çÀÎÀÇ »ç¹°¿¡ ´ëÇÑ ÀνÄÀÇ Â÷À̸¦ º¸¿©ÁÖ´Â ¿¬±¸ ½ÇÇè °á°úµµ ÀÖ´Ù. ¿©·¯ ¸íÀÇ »ç¶÷ÀÌ ³ª¿À´Â »çÁøÀÌ ÀÖ´Ù. °¡¿îµ¥ ÇÑ ¸íÀº Áñ°Å¿î µíÀÌ ¿ô°í ÀÖ°í ³ª¸ÓÁö´Â ¸ðµÎ ¹«Ç¥Á¤Çϰųª Âô±×¸° Ç¥Á¤À» Çϰí ÀÖ´Ù. ÀÌ °¡¿îµ¥ ÇѸíÀÌ Çàº¹ÇØ º¸ÀԴϱî. ºÒÇàÇØ º¸ÀԴϱî¶ó´Â Áú¹®¿¡ µ¿¼¾ç »ç¶÷µéÀÇ ¹ÝÀÀÀº È®¿¬È÷ ´ëºñµÈ´Ù.
µ¿¾çÀεéÀº ºÒÇàÇØ º¸Àδٴ ÀÀ´äÀÌ ´Ù¼öÀε¥ ºñÇØ, ¼¾çÀεéÀº Çàº¹ÇØ º¸Àδٴ ÀÀ´äÀÌ ´Ù¼ö¿´´Ù. µ¿¾çÀεéÀº Àüü¸¦ º¸´Â ¹Ý¸é, ¼¾çÀÎÀº °³Àο¡ Á»´õ ÁýÁßÇÑ´Ù.
ÀÌ·¯ÇÑ ¹®ÈÀû Â÷ÀÌ ¶§¹®¿¡ object¿Í °´Ã¼´Â ±× Àǹ̰¡ ÀÏÄ¡ÇÏÁö ¾Ê´Â´Ù. ¿ì¸®°¡ ¾Ë°í ÀÖ´Â °´Ã¼´Â ´Ù¸¥ »ç¹°°ú ±¸ºÐÇÒ ¼ö ÀÖ´Â °´Ã¼¶ó°í º¸´Â ½Ã°¢ÀÌ °Çѵ¥, ¼ÒÇÁÆ®¿þ¾î °øÇп¡¼ÀÇ °´Ã¼´Â öÇÐÀû »çÀ¯ ¹æ½Ä±îÁö¸¦ Æ÷ÇÔÇϱ⠶§¹®ÀÌ´Ù.
±×·± Â÷À̸¦ ÀÎÁ¤ÇÑ´Ù°í ÇØµµ, ³ª´Â °´Ã¼ÁöÇâÀÌ À߸øµÇ¾ú³× ¾Æ´Ï³× ¿ÀºêÁ§Æ® ¿À¸®¿£Æ®µå·Î ºÒ·¯¾ß ÇÏ³× ¸»¾Æ¾ß ÇÏ³× ÇÏ´Â ³íÀïÀº ÇÊ¿ä¾ø´Ù°í »ý°¢ÇÏ´Â ÀÔÀåÀÌ´Ù. Àǹ̴ ½Ã´ë¿¡ µû¶ó ´Þ¶óÁö±â ¶§¹®ÀÌ´Ù. »õ·Î¿î Àǹ̸¦ Æ÷ÇÔÇÑ »õ·Î¿î ´Ü¾î°¡ ¸¸µé¾îÁö±âµµ ÇÏÁö¸¸ (¿¹ÄÁµ¥ Áö±¸Ã̰ú °°Àº), ±âÁ¸¿¡ ÀÖ´ø ´Ü¾îÀÇ Àǹ̰¡ ´Þ¶óÁö°Å³ª È®ÀåµÇ±âµµ Çϱ⠶§¹®ÀÌ´Ù.
°´Ã¼ÁöÇâÀÌ °ÅÀÇ Ç¥ÁØÀûÀÎ ¿ë¾î·Î »ç¿ëµÇ°í ÀÖ°í, (¾à°£ÀÇ ¿ÀÇØ°¡ ÀÖÀ» ¼ö´Â ÀÖÁö¸¸) ´ë°Ô ±× Àǹ̿¡ ´ëÇØ¼µµ ÀÌÇØÇϰí, ȤÀº ÀÌÇØ ½Ãų ¼ö Àִµ¥ ±»ÀÌ ³íÀïÀÌ ÇÊ¿ä ¾ø´Ù´Â »ý°¢ÀÌ´Ù. 2.2 ÄÄÇ»ÅͶó´Â ±â°è
ÃÖÃÊÀÇ ±Ù´ëÀû ±â°èÀÇ °³³äÀ» ´ã°í ÀÖ´Â ±â°èÀÇ Á¦ÀÛÀº ¾Æ¸¶µµ °í´ë ±×¸®½º½Ã´ë·Î ¿Ã¶ó°¥µí ÇÏ´Ù. ¾Æ¸®½ºÅäÅÚ·¹½º´Â ÀüÀï¿¡¼ »ç¿ëµÉ ¼ö ÀÖ´Â ±â°è¸¦ ¸¸µé¾úÀ¸¸ç, ½ÇÁ¦ ÀüÂ÷(Çö´ëÀû °³³äÀÇ ÅÊÅ©)µµ ¼³°èÇß´ø °ÍÀ¸·Î ¾Ë·ÁÁø´Ù. À¯´ë Àü¼³¿¡ ³ª¿À´Â °ñ·½µµ ÀÏÁ¾ÀÇ »ý°¢ÇÏ´Â ±â°è (ÄÄÇ»ÅÍ)¶ó°í ÇÒ¼ö ÀÖ°Ú´Ù. °í´ë ºÎÅÍ Àΰ£Àº »ý°¢ÇÏ´Â ±â°è¸¦ ²Þ²ã¿Ô´ø °Í °°´Ù.
ÀÌÈÄ¿¡ ¸¸µé¾îÁø ±â°è´Â ¹¹ »ç½ÇÀº °í¸¸°í¸¸ÇÑ ±â°è¿´´Âµ¥ ÀÌµé ±â°è´Â ÁÖ·Î ¹°¸®·ÂÀ» ÀÌ¿ëÇØ¼ "¹°°ÇÀ»" ¿Å±â´Â ÀÏÀ» ÇÏ¿´´Ù. ¹ÙÄû¿Í ±â¾îµé·Î ÀÌ·ç¾îÁ® ÀÖÀ¸¸ç Á¦¾îÇϱâ À§Çؼ Àΰ£À̳ª µ¿¹°ÀÇ ¹°¸®·ÂÀ» ÇÊ¿ä·Î ÇßÀ¸¸ç ¾ó¸¶³ª ¸¹Àº ÀÏÀ» ÇÒ ¼ö ÀÖ´ÂÁö¸¦ ³ªÅ¸³»´Â ´ÜÀ§·Î '¸¶·ÂÀ» »ç¿ëÇß´Ù. ¸¶¼£ ¸Æ·çÇÑÀÌ ÁöÀûÇß´ø °Íó·³ ±â°è¶ó´Â °ÍÀº Àΰ£ÀÇ ½ÅüÀÇ ±â´ÉÀ» ¿ÜºÎ·Î È®ÀåÇÏ´Â ÀåÄ¡´Ù. ÄÄÇ»ÅͰ¡ ³ªÅ¸³ª±â Àü±îÁöÀÇ ±â°èµéÀº Àΰ£½ÅüÀÇ ¸»´Ü¿¡ À§Ä¡Çؼ ÁÖ·Î ±ÙÀ°¿¡ ÀÇÇØ¼ Á¦¾îµÇ´Â ½Åü¸¦ È®Àå½ÃŰ´Â ¿ëµµ·Î ¸¸µé¾îÁ³´Ù. ¹ÙÄû, Áö·¹, ¸Á¿ø°æ, ¼ö·¹, °¢Á¾ °ø±¸µéÀÌ ±×°ÍÀÌ´Ù.
Àΰ£ÀÇ ½ÅüÀÇ ±â´ÉÀ» È®Àå½ÃŰ·Á´Â ½Ãµµ´Â Àΰ£ÀÇ ³úÀÇ ±â´ÉÀ» È®Àå½ÃŰ·Á´Â ½Ãµµ·Îµµ ÀÌ·ç¾îÁø´Ù. ±â¾ïÇϰí Ãß·ÐÇÏ´Â ±â´ÉÀÌ ±×°ÍÀÌ´Ù. ¹°·Ð ´ç½ÃÀÇ ±â¼úÀûÀÎ ÇÑ°è ¶§¹®¿¡ ÀÌ·¯ÇÑ ½Ãµµ°¡ °á½ÇÀ» ¸ÎÁö´Â ¸øÇß´Ù. ºñ±³Àû ´Ü¼øÇÏ´Ù°í »ý°¢µÇ´Â ¾Æ³¯·Î±× °è»ê±â¿Í ±× ÀÀ¿ëÁ¤µµ·Î ¸¸Á·ÇØ¾ß Çß´Ù.
±×·¯´Ù°¡ ÄÄÇ»ÅͶó´Â ±âÁ¸ÀÇ ±â°èÀÇ °³³ä°ú´Â ¸Å¿ì ´Ù¸¥ ±â°è°¡ ¸¸µé¾îÁø´Ù. ÀÌ ±â°è´Â Àΰ£ÀÇ ³úÀÇ ±â´ÉÀ» È®Àå½ÃŰ·Á°í ÇÑ´Ù´Â Á¡¿¡¼, ±â¾î¸¦ ÅëÇØ¼ ÀÛµ¿ÇÏ´Â ¾Æ³¯·Î±× °è»ê±â¿Í ±âº»ÀûÀÎ ¸ñÀû¿¡ ÀÖ¾î¼ °°´Ù°í ÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª ±âÁ¸ÀÇ °è»ê±â¿Í ´Ù¸¥ ±Ùº»ÀûÀÎ Â÷ÀÌÁ¡À» °¡Áö°í ÀÖ¾ú´Ù. ¹Ù·Î Àü±â¿Í ÀüÀÚ¸¦ ÀÌ¿ëÇØ¼ ÀÛµ¿ÇÑ´Ù´Â Á¡ÀÌ¿´´Ù. ¾Æ³¯·Î±× Àåºñ·Î Àΰ£ÀÇ ³ú¸¦ È®Àå½Ã۴µ¥ ÀÖ¾î¼ ¾î·Á¿òÀº ¾Æ³¯·Î±× ÀåºñÀÇ ÇÙ½ÉÀÎ ±â¾îÀÇ Å©±â¿Í ±â¾îµéÀ» ÀÌ·ç°í ÀÖ´Â ±Ý¼ÓÀÇ Æ¯Â¡ÀÌ¿´´Ù. ±â¾î´Â Å©±â°¡ ÄÇÀ¸¸ç ³ìÀÌ ¾µ°í Àß ¸¶¸ð°¡ µÇ¾úÀ¸¸ç, ½±°Ô °íÀåÀÌ ³µ´Ù. º¹ÀâÇÑ ±â°è¸¦ ¸¸µé·Á°í ÇÑ´Ù¸é ¼öõ ȤÀº ¼ö¸¸°³ÀÇ ±â¾î¿Í Å¿±ÀÌ ÇÊ¿äÇß´Ù. °Ô´Ù°¡ ´À¸®±â ±îÁö Çß´Ù. ¶ÇÇÑ Çѹø ¸¸µé¾îÁö¸é, ±× ±â´ÉÀ» ¹Ù²Ù±â°¡ ½±Áö ¾Ê¾Ò´Ù. ÀÌµé °è»ê±â´Â ±â¾î¿Í Å¿±ÀÇ ¹°¸®ÀûÀÎ ¹èÄ¡°¡ ¼ÒÇÁÆ®¿þ¾îÀÇ ¿ªÇÒÀ» Çß´Ù. Áï Çϵå¿þ¾î¸¸ ÀÖ¾úÁö ¼ÒÇÁÆ®¿þ¾î´Â ¾ø¾ú´Ù. ¹ü¿ë ±â°è¸¦ ¸¸µé±â À§Çؼ´Â Çϵå¿þ¾î¿Í ¼ÒÇÁÆ®¿þ¾î¸¦ ºÐ¸®ÇÒ Çʿ䰡 ÀÖ´Ù.
¹Ý¸é Àü±â¿Í ÀüÀÚ·Î ÀÛµ¿ÇÏ´Â ±â¾î¿Í Å¿±¿¡ ºñÇØ¼ ±× ¼Óµµ°¡ ºñ±³ÀÚü¸¦ ÇÒ ¼ö ¾øÀ» Á¤µµ·Î »¡¶ú´Ù. ¹°¸®ÀûÀÎ Á¦¾à¿¡¼µµ ºñ±³Àû ÀÚÀ¯·Î¿ï ¼ö ÀÖ¾ú´Ù. ¶ÇÇÑ ÄÄÇ»ÅÍ´Â ¼ÒÇÁÆ®¿þ¾î¿Í Çϵå¿þ¾î¸¦ ºÐ¸®ÇÒ ¼ö ÀÖ¾ú´Âµ¥, ÀÌ´Â ¹ü¿ëÃ߷бâ°è¸¦ ¸¸µé ¼ö ÀÖ´Â ±æÀ» ¿¾î ³õ¾Ò´Ù.
ÄÄÇ»ÅÍ´Â Á¤º¸¸¦ ó¸®ÇÔ¿¡ ÀÖ¾î¼ È¹±âÀûÀÎ ±â°èÀ̱ä ÇßÁö¸¸ ¾Æ³¯·Î±× ±â°è¿Í´Â ´Þ¸® »óŰ¡ Âü°ú °ÅÁþÀ¸·Î Ç¥ÇöµÇ´Â ÇѰ踦 °¡Áö°í ÀÖ¾ú´Ù. Âü°ú,°ÅÁþÀ¸·Î Á¤º¸ºÐ¼®ÀÌ ÁøÇàµÇ´Â ³í¸®¿¬»ê¿¡´Â È¿À²ÀûÀÌ¿´Áö¸¸ ¾Æ³¯·Î±× ÀûÀÎ ½Ç¼¼°èÀÇ ´Ù¸¥ Á¤º¸µéÀ» ó¸®Çϱ⿡´Â ±×´ÙÁö È¿À²ÀûÀÌÁö ¸øÇÏ´Ù. Ãʱ⿡´Â ÄÄÇ»ÅÍÀÇ »ç¿ë¿ëµµ°¡ ÇÑÁ¤ÀûÀÌ¿´À¸¹Ç·Î Âü,°ÅÁþÀ» Àß ÀÌ¿ëÇÏ´Â Á¤µµ·Î ´ëºÎºÐÀÇ ÀÏÀ» ó¸®ÇÒ ¼ö ÀÖ¾ú´Ù. ÇÁ·Î±×·¡¹Ö¾ð¾î ¿ª½Ã ÀÌ·¯ÇÏ¿´´Ù. ±â°è¾î, ¾î¼Àºí¸®¾î, C(ÀÌ·ÐÀÌ ÀÖÀ» ¼ö ÀÖ°Ú´Ù) µîÀÌ ±×·¯ÇÑ ºÎ·ù¿¡ ¼ÓÇÑ´Ù.
Âü°ú °ÅÁþ¿¡ ±âÃʸ¦ µÐ ³í¸®¿¬»êÀº ¾î¶² ÀÏ·ÃÀÇ ¼ø¼¸¦ µû¸£¸é¼ Á¤º¸¸¦ ó¸®Çϵµ·Ï µÇ¾î ÀÖ´Ù. ÄÁÅ×ÀÌ³Ê º§Æ®¸¦ ÀÌ¿ëÇØ¼ ¹°°ÇÀ» ó¸®ÇÏ´Â °ÍÀ¸·Î º¸¸é µÉ °ÍÀÌ´Ù. ÄÁÅ×ÀÌ³Ê º§Æ®´Â ¹°°Ç°ú ¹°°ÇÀ» ó¸®ÇÏ´Â ÇÁ·Î¼¼½º°¡ ºÐ¸®µÇ¾î Àִµ¥, ÄÄÇ»ÅÍ ¿ª½Ã µ¥ÀÌÅÍ¿Í µ¥ÀÌÅ͸¦ ó¸®ÇÏ´Â ¹æ¹ýÀÌ ºÐ¸®µÇ¾î ÀÖ´Ù. ÀÌ·¯ÇÑ ¹æ½ÄÀº º¹ÀâÇÏÁö¾ÊÀº Á¤º¸¸¦ ó¸®ÇÒ¶§´Â È¿À²ÀûÀÌÁö¸¸ °¡°è/±â¾÷°æ¿µ/¹®¼ÀÛ¼º/À½¾ÇÀ缺/°øÀåÁ¦¾î/°ÔÀÓ¿¡¼¿Í °°ÀÌ Á¤º¸¿Í Á¤º¸°¡ »óÈ£¿¬°üµÇ¾î¼ º¹ÀâÇÏ°Ô ¾ôÇôÀÖ´Â °æ¿ì¿¡´Â È¿À²ÀÌ ±ØÈ÷ ¶³¾îÁö°Ô µÈ´Ù. ¼ö¹é°³ÀÇ ÄÁÅ×ÀÌ³Ê º§Æ®°¡ ¸¸µé¾îÁ® Àִµ¥, Çʿ信 µû¶ó¼ ÀÌµé °¢ ÄÁÅ×À̳ʸ¦ ¼·Î ¿¬°á½ÃÄѼ µ¥ÀÌÅ͸¦ ó¸®ÇؾßÇÒ °æ¿ì¸¦ »ý°¢Çغ¸¸é µÉ°ÍÀÌ´Ù. ÀԷ°ú Ãâ·ÂÀÌ ¸Å¿ì ¸íÈ®ÇÑ Á¦Á¶¾÷¿¡¼¾ß ÄÁÅ×À̳ʺ§Æ®¸¦ Àç¹è¿ÇØ¾ß ÇÏ´Â ÀÏÀÌ ±×´ÙÁö ÇÊ¿ä ¾ø°ÚÁö¸¸ ¼ÒÇÁÆ®¿þ¾î °³¹ß¿µ¿ªÀº ±×·¸Áö ¾Ê´Ù. µû¶ó¼ ¼ÒÇÁÆ®¿þ¾î¸¦ °³¹ßÇϰí À¯ÁöÇÏ°í º¸¼öÇϴµ¥ ¸¹Àº ºñ¿ëÀÌ µé°Ô µÈ´Ù.
±×·¡¼ ¸¸µé¾îÁø°Ô "°´Ã¼ÁöÇâ ÇÁ·Î±×·¡¹Ö"À¸·Î ÄÄÇ»ÅͰ¡ µ¥ÀÌÅÍ¿Í µ¥ÀÌÅÍÀÇ Ã³¸®°úÁ¤À» ºÐ¸®½ÃÄѼ »ý°¢ÇÏ´Â°É ÇϳªÀÇ °´Ã¼·Î º¸°í ó¸®Çϵµ·Ï ¸¸µé¾îÁø ¹æ¹ý·ÐÀÌ´Ù. ÀÌ ¹æ¹ý·ÐÀ» ÀÌ¿ëÇØ¼ ÄÚµåÀÇ Àç»ç¿ë¼º, À¯Áö/º¸¼ö¼ºÀ» ³ôÀ̰íÀÚ ÇÏ°Ô µÈ´Ù. 2.3 °´Ã¼¶õ
°£´ÜÈ÷ ¸»ÇÏÀÚ¸é °´Ã¼´Â ÁÖº¯¿¡¼ º¼ ¼ö ÀÖ´Â ¸ðµç (°üÂûµÇ¾îÁö´Â)»ç¹°ÀÌ´Ù. »ð»ì°³, È£¶ûÀÌ, ¼¼Æ÷, »ç¶÷.. ÀüºÎ´Ù °´Ã¼´Ù. ¶ÇÇÑ ´«¿¡ º¸ÀÌ´Â ±¸Ã¼ÀûÀÎ °Í »Ó¸¸ ¾Æ´Ï¶ó °æÁ¦, ±¹°¡, ½ÃÀå °°Àº ´«¿¡ º¸ÀÌÁö ¾Ê´Â °Íµµ °´Ã¼¶ó°í ÇÑ´Ù. ¸ðµç °ÍÀÌ °´Ã¼´Ù!!! ´Ü¼ø¸í·áÇϱä ÇÏÁö¸¸ ³Ê¹« Æ÷°ýÀûÀÎ °Í °°À¸´Ï °´Ã¼ÀÇ Æ¯Â¡¿¡ ´ëÇØ¼ Á¤¸®Çغ¼ Çʿ䰡 ÀÖÀ» °Í °°´Ù.
°´Ã¼´Â ³»¸é°ú ³»¸éÀ» °¨½Î´Â ¿ÜÇǸ¦ °¡Áø´Ù. ¼¼Æ÷¶ó´Â °´Ã¼´Â ¼¼Æ÷³»¿ë¹°Áú°ú À̵éÀ» °¨½Î´Â ¿ÜÇÇ·Î ±¸¼ºÀÌ µÈ´Ù. °üÂûÀÚ¿¡°Ô º¸ÀÌ´Â °ÍÀº ¿ÜÇǰ¡ µÈ´Ù. ³»¿ë¹°µé°ú ³»¿ë¹°µéÀÌ »óÈ£ÀÛ¿ëÇÏ´Â °úÁ¤Àº °üÂûÀÚ¿¡°Ô °¨Ãß¾îÁø´Ù. ÀÌ·¸°Ô ³»¸éÀ» °¨Ãß´Â ¿ÜÇǸ¦ °¡Áö´Â °ÍÀ» Ãß»óÀ̶ó°í Çϴµ¥, ÀÌ Ãß»óÀº °´Ã¼°¡ °¡Áö´Â ´ëÇ¥ÀûÀΠƯ¡ÀÌ´Ù. ¿©±â¿¡ µû¸£¸é ¿ÜÇǸ¦ °¡ÁöÁö ¾Ê´Â °ÍÀº °´Ã¼¶ó°í ÇÒ ¼ö°¡ ¾ø´Ù. ¿ÜÇǰ¡ Áß¿äÇÑ ÀÌÀ¯´Â ÁÖº¯ÀÇ ´Ù¸¥ »ç¹°°ú ±¸ºÐµÇ´Â Ç¥¸éÀÌ ÀÖ¾î¾ß °üÂûÀÚ¿¡°Ô µ¶¸³ÀûÀÎ »ç¹°·Î º¸¿©Áú ¼ö Àֱ⠶§¹®ÀÌ´Ù. Ç¥¸éÀº °æ°è¶ó°í ÇØµµ ÁÁÀ» °ÍÀÌ´Ù.
°´Ã¼´Â ÁÖº¯È¯°æ ȤÀº ´Ù¸¥ °´Ã¼¿Í »óÈ£ÀÛ¿ëÇÑ´Ù. »ý¹°ÀÇ °æ¿ì »óÈ£ÀÛ¿ëÀº °¨°¢±â°üÀ» ÅëÇØ¼ ³»ºÎ·Î Á¤º¸¸¦ ¹Þ¾ÆµéÀÎ ´ÙÀ½ À̸¦ ó¸®ÇÏ°í ¿îµ¿±â°üÀ» ÅëÇØ¼ ´Ù¸¥ °´Ã¼¸¦ Á¶ÀÛÇÑ´Â Çü½ÄÀ¸·Î ÀÌ·ç¾îÁø´Ù. °³°¡ À§ÇùÀûÀ¸·Î ´Þ·Áµé¸é ´«À¸·Î ÀÌ Á¤º¸¸¦ ¹Þ¾Æµé¿©¼ ó¸®ÇÑ´ÙÀ½ ´Ù¸®±ÙÀ°À» ¿òÁ÷¿©¼ ´Þ¾Æ³ª°Å³ª ȤÀº ¿Â¸öÀ» ÀÌ¿ëÇØ¼ ½Î¿ì°Å³ª ÇÏ´Â ½ÄÀÌ´Ù. ÀÌ·¯ÇÑ »óÈ£ÀÛ¿ëÀº °æÁ¦¿Í °°Àº ±¸Ã¼ÀûÀÎ ÇüŸ¦ °¡ÁöÁö ¾ÊÀº °´Ã¼¿¡µµ Àû¿ëµÈ´Ù. °æÁ¦ÀÇ °æ¿ì¿¡´Â ½Å¹®,´º½º, ÁֽĸÅÀÔ,ÀºÇà¾÷¹«µîÀ» ÅëÇØ¼ »óÈ£ÀÛ¿ëÇÒ °ÍÀÌ´Ù.°æÁ¦³ª ±¹°¡¿Í °°Àº °Íµéµµ Àΰ£Àº °´Ã¼¶ó°í º»´Ù. ¹°¸®ÀûÀÎ ¿ÜÇǸ¦ °¡ÁöÁö ¾ÊÁö¸¸ Àΰ£ÀÇ ÀνÄÇÏ¿¡¼ °æÁ¦´Â °æ°è¸¦ °¡Áö°í Àֱ⠶§¹®ÀÌ´Ù. °æ°è¸¦ °¡Áö°í ÀÖÀ¸¹Ç·Î °üÂûÀÚÀÎ Àΰ£Àº °æÁ¦¸¦ °üÂûÇÏ°í ºÐ¼®ÇÒ ¼ö ÀÖ´Ù. ¿©±â¿¡¼ ¾î¶² ´ë»óÀÌ °´Ã¼·Î º¸ÀÌ´À³Ä ¾Æ´Ï³Ä ÇÏ´Â °ÍÀº »ó´ëÀûÀÏ ¼ö ÀÖÀ½À» ¾Ë ¼ö ÀÖ´Ù. °æÁ¦°ü³äÀÌ ¾ø´Â Áö¿ªÀÇ »ç¶÷µé¿¡°Ô´Â °æÁ¦´Â °üÂûÇÒ ¼ö ÀÖ´Â ´ë»óÀÌ ¾Æ´Ï±â ¶§¹®ÀÌ´Ù. °´Ã¼´Â °´Ã¼¸¦ Æ÷ÇÔÇÒ ¼ö ÀÖ´Ù. Ä¡¾Æ¿Í³ª ¼ÎÆÛµå´Â °´Ã¼´Ù. ¿©±â¿¡¼ ´õ ³ª¾Æ°¡ À̵é Ä¡¾Æ¿Í³ª ¼ÎÆÛµå¸¦ ÅëĪÇÏ´Â °³µµ °´Ã¼°¡ µÉ ¼ö ÀÖ´Ù. °³´Â Ä¡¾Æ¿Í¿Í ¼ÎÆÛµå¿Í °°Àº °´Ã¼ÀÇ °øÅëÀûÀΠƯ¡À» ºÐ¼®Çؼ Àΰ£ÀÇ Áö¼ºÀÌ ¸¸µé¾î³½ °¡»óÀÇ °³³äÀÌÁö¸¸ °í¾çÀ̶ó´Â ´Ù¸¥ °³³ä°ú ±¸ºÐµÇ´Â ¿ÜÇǸ¦ °¡Áö°í ÀÖÀ¸¹Ç·Î °´Ã¼¶ó°í ÇÒ ¼ö ÀÖ´Ù. °³¶ó´Â °´Ã¼´Â Ä¡¾Æ¿Í, ¼ÎÆÛµå °´Ã¼¸¦ Æ÷ÇÔÇÑ´Ù. ÀÌ·¯ÇÑ °´Ã¼ÀÇ ¼Ó¼ºÀ» ÀÌ¿ëÇÏ¸é °´Ã¼ÀÇ °èÃþÀû- Hierarchy - ±¸Á¶¸¦ ¸¸µé ¼ö ÀÖ´Ù. À̰ÍÀº º¹ÀâÇÑ ÀÚ¿¬Çö»óÀ» ´Ü¼øÈ ½ÃÄѼ ÀνÄÇÒ ¼ö ÀÖµµ·Ï µµ¿ÍÁØ´Ù. ´ëÇ¥ÀûÀÎ ¿¹°¡ Á¾,¼Ó,°ú,¸ñ,°,¹®,°èÀÏ °ÍÀÌ´Ù.
À̻󿡼 °´Ã¼ÀÇ ´ÙÀ½°ú °°Àº Ư¡À» »Ì¾Æ³¾ ¼ö ÀÖÀ» °Í ÀÌ´Ù.
2.3.1 °´Ã¼¿Í class
¾Æ¸®½ºÅäÅÚ·¹½º°¡ Ãß»óÀûÀÎ ºÐ·ùü°è¸¦ ±¸ÃàÇÒ ¼ö ÀÖ¾ú´øµ¥¿¡´Â µ¿¹°¿¡ ´ëÇÑ ´Ù¾ç¼º°ú ±× ±â´É¿¡ ´ëÇØ¼ ƯÈ÷ °ü½ÉÀÌ ¸¹¾Ò±â ¶§¹®ÀÌ´Ù. À̵éÀ» °üÂûÇϱâ À§Çؼ´Â ±× ´Ù¾çÇԾȿ¡¼µµ °øÅëµÇ´Â ¼Ó¼ºÀ̳ª Çൿ¾à½Ä µîÀ» ã¾Æ¼ ü°èÀûÀ¸·Î ºÐ·ùÇÒ Çʿ䰡 ÀÖ¾ú±â ¶§¹®ÀÌ´Ù. ÀÌ·¯ÇÑ °íÂûÀÇ °á°ú´Â ¡°the class of fishes and the class of birds¡±À̶ó´Â ±×ÀÇ »ý°¢¿¡ ¿ä¾àµÇ¾î¼ ³ªÅ¸³´Ù.
¿©±â¿¡¼ fishes´Â class´Ù. ³ó¾î,ºù¾î,ºØ¾î¿Í °°Àº °´Ã¼µé·Î ºÎÅÍ °øÅëÀÇ ¼Ó¼ºÀ» »Ì¾Æ³»¾î¼ ¸¸µé¾î³õÀº Ãß»ó°´Ã¼´Ù. ÀÌ·¸°Ô fishes¶ó´Â Ŭ·¡½º¸¦ ¸¸µé¾î ³õÀ¸¸é, ÀÌÁ¦ »õ·Î¿î »ý¹°ÀÌ ¹ß°ßµÇ´õ¶óµµ fishes¶ó°í ºÎ¸¦ °ÍÀÎÁö ¸»°ÍÀÎÁö¸¦ ½±°Ô °áÁ¤ÇÒ ¼ö ÀÖ´Ù. »õ·Î ¹ß°ßµÈ »ý¹°ÀÌ fishes¶ó´Â Ŭ·¡½º°¡ °¡Áö°í ÀÖ´Â ¼Ó¼º°ú Çൿ¾ç½Ä¿¡ ¸Â´ÂÁö¸¦ °ËÅäÇÏ¸é µÇ±â ¶§¹®ÀÌ´Ù.
Áï class´Â °´Ã¼ÀÇ °øÅëÀûÀÎ ¼Ó¼º°ú Çൿ¾ç½Ä- ¸Þ¼µå -À» Á¤ÀÇÇØ ³õÀº Ãß»ó°´Ã¼·Î Á¤ÀÇ ³»¸± ¼ö ÀÖ´Ù.
class´Â »óÀ§ÀÇ class¸¦ °¡Áú ¼ö ÀÖ´Ù. °³ < Æ÷À¯·ù < »ý¹° ÀÌ·± ½ÄÀÌ´Ù. class´Â °´Ã¼°¡ µÉ ¼ö ÀÖ°í, °´Ã¼°¡ Ŭ·¡½º°¡ µÉ ¼ö ÀÖ´Ù. ÀϹÝÀûÀ¸·Î´Â ¼Ó¼º°ú Çൿ¾ç½ÄÀÌ ½ÇüµÈ °æ¿ì¸¦ °´Ã¼¶ó°í ÇÏ°í ±×·¸Áö ¾Ê°í ¼Ó¼º°ú Çൿ¾ç½ÄÀ» ´ÜÁö Á¤ÀǸ¸ Çϰí ÀÖ´Â Ãß»ó°´Ã¼¸¦ class¶ó°í ÇÑ´Ù. ±¸Ã¼ÀûÀÎ ½Çü¸¦ °¡ÁöÁö ¾Ê´Â °³´Â class À̰í, °³ÀÇ ¼Ó¼º°ú Çൿ¾ç½ÄÀ» °¡Áø ½ÇüÇÏ´Â Ä¡¾Æ¿Í,»ð»ì°³¸¦ °´Ã¼·Î º¸´Â ½ÄÀÌ´Ù.
ºÐ·ùü°è·Î º¼¶§ °´Ã¼´Â class¿¡ ÇÏÀ§ºÐ·ù°¡ µÈ´Ù.classÀÇ ¼Ó¼º°ú Ç൵¾ç½ÄÀ» »ó¼Ó¹Þ¾Æ¾ß Çϱ⠶§¹®ÀÌ´Ù. ¶§¹®¿¡ Ä¡¾Æ¿Í´Â °³´Ù¶ó´Â ¸íÁ¦´Â ¼º¸³ÇÏÁö¸¸ °³´Â Ä¡¾Æ¿Í´Ù¶ó´Â ¿ªÀº ¼º¸³ÇÏÁö ¾Ê´Â´Ù. 2.3.2 Interface
°´Ã¼´Â ³»¸éÀÌ ¿ÜÇÇ¿¡ ÀÇÇØ¼ °¨Ãß¾îÁø´Ù°í Çß´Ù. ȯ°æ°ú »óÈ£ÀÛ¿ëÇϱâ À§Çؼ´Â ȯ°æÀÌ ³»¸éÀ¸·Î Àü´ÞµÇ¾î¾ß ÇÑ´Ù. À̶§ ¹®Á¦°¡ µÇ´Â °ÍÀº ¿ÜÇÇ¿¡ ÀÇÇØ¼ ³»¸é°ú ȯ°æÀÌ ´ÜÀýµÇ¾î ÀÖ´Ù´Â Á¡ÀÌ´Ù. Interface´Â ȯ°æÀÇ º¯È¸¦ ³»¸éÀ¸·Î Àü´ÞÇÏ´Â ¿ªÇÒÀ» ÇÏ´Â ÀåÄ¡´Ù. Àΰ£À» ¿¹·Î µéÀÚ¸é, ´«, ±Í, ÄÚ, ÀÔ µîÀÌ Interface·Î À̰ÍÀ» ÀÌ¿ëÇØ¼ ¿ÜºÎȯ°æ°ú »óÈ£ÀÛ¿ëÇÏ°Ô µÈ´Ù. °¡½Ã±¤¼±À» ´«À¸·Î ¹Þ¾Æµé¿©¼ ½Ã½Å°æÀ» ÅëÇØ¼ ³»¸é¿¡ ÀÖ´Â ³ú·Î Àü´ÞÇØ¼ ÇØ¼®Çϰí, ÇØ¼®µÈ °á°ú¿¡ µû¶ó¼ ¹ÝÀÀÇÏ´Â ½ÄÀÌ´Ù.
ÀÚµ¿Â÷ÀÇ Interface ´Â ÇÚµé,ºê·¹ÀÌÅ©,¾Ç¼¿·¹ÀÌÅ͵îÀÌ µÉ °ÍÀÌ´Ù. 2.3.3 °´Ã¼ ÁöÇâ°ú °úÇÐ
¸ðµç »ç¹°À» °´Ã¼·Î ¹Ù¶óº¸´Â ÁÖÀÇ´Â ½ÇÁõÁÖÀÇ¿Í °æÇèÁÖÀÇ¿¡ ¹ÙÅÁÇÑ Çö´ëÀûÀÎ °úÇÐÀÇ ¹ÙÅÁÀÌ µÈ´Ù. Áï Àΰ£ÀÇ ¿À°¨°ú »óÈ£ÀÛ¿ëÇØ¼ ºÐ¼®µÇ¾îÁø Á¤º¸¸¦ ¿À·£½Ã°£ ºÐ¼®Çؼ - Áï °æÇèÀ» ÅëÇÏ¿© - º¸ÆíÀûÀÎ Áö½ÄÀ¸·Î ¸¸µå´Â °úÇÐÀû»ç°í ¹æ½Ä ¸¸µé¾î³Â´Ù.
µû¶ó¼ ÁÁÀº °´Ã¼ÁöÇâ ÇÁ·Î±×·¥À» ¸¸µé·Á¸é, °üÂû¿¡ µû¸¥ ½ÇÁõÁÖÀÇ¿Í °æÇèÁÖÀÇÀû »ç°í¹æ½ÄÀÌ Áß¿äÇÏ´Ù. ÀÌ·¯ÇÑ »ç°í¹æ½ÄÀº ºÐ¼®·ÂÀ» ÇÊ¿ä·Î ÇÏ´Â °æ¿ì°¡ ¸¹´Ù. Çö´ë ±³À°°úÁ¤ÀÌ ºÐ¼®·ÂÀ» ƯÈ÷ Áß¿ä½ÃÇÏ´Â ÀÌÀ¯°¡ ±Ù´ë ¼¾çÀÇ ÀÚ¿¬ °úÇРöÇÐÀ» ±â¹ÝÀ¸·Î Çϰí Àֱ⠶§¹®ÀÌ´Ù.
±×·¸´Ù°í, °úÇÐÀû »ç°í¹æ½ÄÀÌ Ç×»ó ÁÁÀº °ÍÀ̶ó°í »ý°¢ÇÒ ÇÊ¿ä´Â ¾ø´Ù. ÀÌ·± »ý°¢Àº ¼¾ç öÇÐÀÌ µ¿¾ç öÇп¡ ºñÇØ¼ ¿ì¿ùÇÏ´Ù¶ó´Â ½ÄÀÇ »ç°í ¹æ½ÄÀ̸ç, Æí°ßÀÌ µÉ ¼ö ÀÖ´Ù. 20¼¼±â ÈÄ¹Ý ºÎÅÍ µ¿¾ç öÇÐÀÌ Àç Á¶¸íÀ» ¹Þ´Â °Í¸¸ ºÁµµ ¾Ë ¼ö ÀÖ´Ù.
¸¶Âù°¡Áö·Î °´Ã¼ÁöÇâÀ» ½Å¼º½ÃÇÒ Çʿ䵵 ¾ø´Ù. ¾î¶² ÀÌ·ÐÀ̳ª ¹æ¹ý·Ðµµ ½Å¼º½Ã, Àý´ëÀûÀ̶ó´Â ¼ö½Ä¾î°¡ ºÙ´Â ¼ø°£ ºÎÀÛ¿ëÀ» ÇÇÇÒ ¼ö ¾ø°Ô µÈ´Ù. 2.3.4 °úÇаú Á¾±³
°úÇÐÀû »ç°í´Â »óÈ£ÀÛ¿ë °¡´ÉÇÑ °´Ã¼¸¦ ´ë»óÀ¸·Î ÀÌ·ç¾îÁø´Ù. ÀÌ·± Àǹ̿¡¼ Á¾±³´Â °úÇаú ´Ù¸¥ ±æÀ» °¡°Ô µÈ´Ù. ½Å°ú »óÈ£ÀÛ¿ëÇÒ ¼ö´Â ¾ø´Â ³ë¸©À̱⠶§¹®ÀÌ´Ù. »óÈ£ÀÛ¿ëÇÒ ¼ö ¾ø´Â °Ç °´Ã¼°¡ ¾Æ´Ï´Ù. ¾ðÁ¨°¡ ½Å°ú Á¦´ë·Î »óÈ£ÀÛ¿ëÇÒ ¼ö ÀÖ´Â ¾î¶°ÇÑ ¹æ¹ýÀ» ã¾Æ³½´Ù¸é Á¾±³µµ °úÇÐÀÌ µÉ ¼ö´Â ÀÖ°ÚÁö¸¸ ¸»ÀÌ´Ù. ¾Æ ¹°·Ð Áö±Ýµµ ½ÅµµµéÀº ±âµµ¸¦ ÅëÇØ¼ ½Å°ú »óÈ£ÀÛ¿ë ÇÑ´Ù°í ÇÏÁö¸¸ »óÈ£ÀÛ¿ëÀÇ °á°ú¸¦ º¸¿©ÁÖÁö ¾ÊÀ¸´Ï, ºÐ¼®ºÒ°¡°¡ µÈ´Ù. ÀÔ·ÂÀº Àִµ¥ Ãâ·ÂÀº ¾ø´Â »óŶó°í³ª ÇÒ±î.
½ÅÀ» Á÷Á¢ ÀÔÁõÇÏ´Â°Ô ºÒ°¡´ÉÇÏ´Ù°í »ý°¢ÀÌ µÇÀÚ, ±×µéÀÇ ¼º¼¿¡ ÀûÇôÀÖ´Â ½ÅÈÀû ³»¿ëÀÌ ½ÅȰ¡ ¾Æ´Ñ »ç½ÇÀÓÀ» Áõ¸íÇÏ´Â °ÍÀ¸·Î ½ÅÀÌ ÀÖÀ½À» °£Á¢ÀûÀ¸·Î Áõ¸íÇϰíÀÚ ÇÏ´Â ½Ãµµ°¡ ÀÖ¾ú´Ù. ½ÅÈ´Â ¾î¶² ºÎÁ·ÀÇ ¿ª»ç¸¦ ´ã°í ÀÖ´Â °æ¿ì°¡ ¸¹°í, ¿ª»ç´Â °úÇÐÀû ޱ¸°¡ °¡´ÉÇÑ ¿µ¿ªÀÌ´Ï ¸»ÀÌ´Ù. À̰ÍÀ» âÁ¶°úÇÐÀ̶ó°í ÇÑ´Ù.
±×·¯³ª âÁ¶°úÇÐÀÌ Àǹ̰¡ ÀÖÀ»Áö¿¡ ´ëÇØ¼´Â ȸÀÇÀûÀÌ´Ù. ¼³»ç ¿ª»çÀû »ç½ÇÀÌ ÀÔÁõµÇ´õ¶óµµ ¸»ÀÌ´Ù. ½ÅȼÓÀÇ µµ½Ã·Î¸¸ ¾Ë·ÁÁ³´ø Æ®·ÎÀ̰¡ ¹ß°ßÀÌ µÇ°í, ¾ÆÅ³·¹¿ì½º°¡ ½ÇÁ¦ Á¸ÀçÇÏ´ø Àι°ÀÌ¿´À½ÀÌ Áõ¸íµÇ¾ú´Ù°í ÇØ¼, ¾ÆÅ³·¹¿ì½º°¡ ½ÅÀÇ ¾ÆµéÀÌ°í Æ®·ÎÀÌ ÀüÀïÀ» ½ÅµéÀÌ ¹èÈÄÁ¶Á¤Çß´Ù´Â Áõ°Å°¡ µÇ´Â°Ç ÀüÇô ¾Æ´Ï±â ¶§¹®ÀÌ´Ù. Á¾±³´Â ±×³É ¹ÏÀ½ÀÇ ¿µ¿ªÀ¸·Î µÎ¸é µÇ´Â °ÍÀÌ´Ù.
¶§¶§·Î ±â¼úÀÌ ¹ßÀüÇÔ¿¡ µû¶ó¼ ³Ê¹«Å͹«´Ï ¾ø¾î¼ ½ÅÈ¿Í °°Àº °ÍÀ¸·Î »ý°¢µÇ´ø°Ô »óÈ£ÀÛ¿ë °¡´ÉÇÑ °úÇÐÀû ޱ¸°¡´ÉÇÑ °´Ã¼°¡ µÇ±âµµ ÇÑ´Ù. 4Â÷¿øÀÌ³× 10Â÷¿øÀÌ³× ÇÏ´Â °ÍµéÀº °ú°Å¿¡´Â Å͹«´Ï ¾ø´Â °ÍÀÌ¿´À¸³ª ÀÔÀÚ°¡¼Ó±âÀÇ µîÀåÀ¸·Î ±× ½Çü¸¦ °ÅÀÇ ±Ô¸íÇÒ ¼ö ÀÖ°Ô µÈ°Ô ±× ¿¹°¡ µÉ °ÍÀÌ´Ù. ±×·¸´Ù°í ÇØ¼ ½Å°ú ´ëȰ¡´ÉÇÑ ±â°è¸¦ ¸¸µé¾î ³¾ ¼ö ÀÖÀ»±î ?? ¹¹, À̺¥Æ®È£¶óÀÌÁðÈ£´Â °·ÂÇÑ Á߷¹߻ý±â¸¦ ÀÌ¿ëÇØ¼ ¶á±Ý¾ø´Â Áö¿Áµµ ´Ù³à¿À±ä ÇßÁö¸¸ ÀÌ°Ç ¾îµð±îÁö³ª ¿µÈÀÇ À̾߱â°í. 2.4 Ãß»ó(õÎßÚ)È ¿Í Ãß»óÈ °úÁ¤
À§¿¡¼ °´Ã¼´Â ³»ºÎ¸¦ ¼û±â´Â ¿ÜÇǸ¦ °¡Áø´Ù°í Çß´Ù. À̰ÍÀ» Ãß»óÀ̶ó°í Çϴµ¥, °´Ã¼ÀÇ °¡Àå Å« Ư¡Áß Çϳª´Ù. ÀÌ Ãß»ó¿¡ ´ëÇØ¼ ¾Ë¾Æº¸µµ·Ï ÇÏÀÚ.
Çö´ëÀûÀÎ Ã߻󰳳äÀ» ü°èÈ ÇѰÍÀº ÇöóÅæÀ¸·Î »ý°¢µÈ´Ù. ÇöóÅæÀº À̵¥¾Æ¶ó´Â °ÍÀ» ÁÖâÇÏ¿´´Ù. ¼¼»óÀº À̵¥¾Æ¶ó´Â ¿ÏÀüÇÑ ¼¼°è¿¡ ÀÖ´Â ¿øº»Æ²ÀÇ ±×¸²ÀÚ·Î »ý°Ü³ °ÍÀÌ´Ù¶ó´Â°Ô À̵¥¾ÆÀÇ ÇÙ½ÉÀÌ´Ù. ¿øº»ÀÇ ±×¸²ÀÚÀÌ´Ï ¼¼»óÀº ¾ðÁ¦³ª ºÒ¿ÏÀüÇÒ ¼ö ¹Û¿¡ ¾ø´Ù. À̵¥¾Æ´Â ¿ÏÀüÇѼ¼°è, ¿µÈ¥À¸·Î º¼ ¼ö ÀÖ´Â ¼¼°è¶ó´Â°Ô ÇöóÅæÀÇ »ý°¢À̾ú´Ù.
°³¸¦ ¿¹·Î µé¾îº¸ÀÚ. °³¸¦ º»ÀûÀÌ Àִ°¡ ? ¶á±Ý¾ø´Â ¸» °°Áö¸¸ °³±× ÀÚü¸¦ º»ÀûÀº ¾øÀ» °ÍÀÌ´Ù. ¿Ö³ÄÇÏ¸é °³´Â ¹°¸®ÀûÀÎ ´ë»óÀ» °¡¸®Å°´Â°Ô ¾Æ´Ï±â ¶§¹®ÀÌ´Ù. ¿ì¸®´Â »ð»ì°³, Ä¡¾Æ¿Í, ¼ÎÆÛµå¸¦ º¼ ¼ö ÀÖÁö¸¸ °³¸¦ º»ÀûÀº ¾ø´Ù. ÇöóÅæÀÌ ÁÖÀåÇÏ´Â ¹Ù¿¡ µû¸£¸é °³°¡ ¹Ù·Î Ä¡¾Æ¿Í »ð»ì°³ ¼ÎÆÛµåµî ÀÌ ¼¼°è¿¡ Á¸ÀçÇÏ´Â ¿©·¯°¡Áö °³ÀÇ ¼ºÁúÀ» °¡Áö´Â °ÍµéÀÇ À¯ÀÏÇÑ ¿øº»ÀÌ´Ù. ÀÌ À¯ÀÏÇÑ °³ÀÇ ±×¸²ÀÚ°¡ ¹Ù·Î ¿ì¸®°¡ º¼¼ö ÀÖ´Â Ä¡¾Æ¿Í ÀÎ °ÍÀÌ´Ù. À̵¥¾Æ´Â ¿ì¸®°¡ »ç´Â ¼¼°èº¸´Ù Â÷¿øÀÌ ³ôÀº ¼¼°èÀ̹ǷΠ¿ì¸®´Â ´ÜÁö °³ÀÇ ±×¸²ÀÚ¸¸À» º¼ ¼ö ÀÖÀ» »ÓÀÌ´Ù.
http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/SoftWare_engineering/OOP
ÀÌó·³ Â÷¿øÀÌ ³·¾ÆÁö¸é ¾òÀ» ¼ö ÀÖ´Â ÀåÁ¡ÀÌ ÀÖ´Ù. ±×°ÍÀº ¼ö¸¹Àº °³ÀÇ ¼ºÁúÀ» °¡Áö´Â °´Ã¼¸¦ ¸¸µé¾î ³¾ ¼ö ÀÖ´Ù´Â Á¡ÀÌ´Ù. ¾Õ¼ ÀÌ ¼¼»ó¿¡ ¹°¸®ÀûÀ¸·Î Á¸ÀçÇÏ´Â °³µéÀº À̵¥¾Æ °³ÀÇ ±×¸²ÀÚ¶ó°í Çߴµ¥, ±×¸²ÀÚ´Â ±× ¸ð½ÀÀÌ ¿Ïº®ÇÏÁö ¸øÇÏ´Ù. ±¤¿øÀÇ °Å¸®¿Í Èçµé¸²¿¡ µû¶ó¼ Âî±×·¯Áö±âµµ Çϰí Ä¿Áö°Å³ª ÀÛ¾ÆÁö°Å³ª ÇÒ ¼ö ÀÖ´Ù. °³´Â ÇϳªÀÌÁö¸¸ ¼ö¸¹Àº °³µéÀÌ Á¸ÀçÇÏ´Â ÀÌÀ¯ÀÌ´Ù.
ÇöóÅæÀÌ À̵¥¾Æ¸¦ »ý°¢ÇØ ³Â´ø °ÍÀ» ¹Ý´ë·Î ÇÏ¸é ±×°Ô Ãß»óȰ¡ µÈ´Ù. Áï ¸Û¸Û ¼Ò¸®¸¦ ³»°í, ²¿¸®¸¦ Èçµé¸ç, ´Ù¸®°¡ 4°³°í, ÄÚ°¡ »ÏÁ·ÇÑ Æ¯Â¡À» °¡Áö´Âµ¿¹°µéÀ» °³¶ó°í Á¤ÀÇ ÇÏ´Â °ÍÀÌ´Ù. ÀÌ·¸°Ô ÇØ¼ ¿ì¸®´Â ´«¿¡ º¸ÀÌÁö ¾Ê´Â °³¶ó´Â »õ·Î¿î »óÀ§ Â÷¿øÀÇ °³³äÀ» ¸¸µé¾î³»°Ô µÇ¾ú´Ù.
Ãß»óÈ °úÁ¤À̶õ ¾î¶² ±¸Ã¼ÀûÀÎ »ç¹°·Î ºÎÅÍ °øÅëÀûÀÎ ¼Ó¼ºÀ» ã¾Æ³»¾î¼ ±×°ÍµéÀ» Æ÷°ýÇÒ ¼ö ÀÖ´Â »óÀ§ÀÇ Æ÷°ýÀû °³³äÀ» ¸¸µé¾î³»´Â °úÁ¤ÀÌ´Ù.
2.5 ÄÄÇ»ÅÍ¿¡¼ÀÇ Ãß»óÈ
ÄÄÇ»ÅÍ ¾ð¾î¿ª½Ã ÀÌ·¯ÇÑ Ãß»óÈ °úÁ¤À» °ÅÄ£´Ù. °¡Àå °£´ÜÇÑ ¾î¼Àºí¸®´Â À̸¦Å×¸é »ý¸íüÀÇ ¹ÙÀÌ·¯½º¶ó°í ÇÒ¸¸Çѵ¥, °¡Àå °£´ÜÇÑ Ãß»óÈ °úÁ¤À» °ÅÄ£´Ù. ±â°è¾î¿Í °ÅÀÇ ÀÏ´ëÀÏ ´ëÀÀÀ» Çϴµ¥, ´Ù¸¸ Á»´õ ÀÌÇØÇϱ⠽±°Ô ¸¸µéµµ·Ï "ÇѴܰè"ÀÇ Ãß»óÈ °úÁ¤À» °ÅÃÆÀ» »ÓÀÌ´Ù. Æ÷Æ®¶õ, º£ÀÌÁ÷, C¿Í °°Àº ¾ð¾îµéÀº ¾î¼Àºí¸®¾î¿¡ ºñÇØ¼ ´õ¿í ¸¹Àº Ãß»óȸ¦ ÀÌ·ç°í ÀÖÀ¸¸ç, ¿©·¯°¡Áö ¸é¿¡¼ Å©°Ô ¹ßÀüµÇ¾ú´Ù.
±×·¯³ª ÀÌµé ¾ð¾î´Â ÄÄÇ»ÅÍ ±â°è°¡ ¸¸µé¾î Á³´ø¶§ÀÇ ±×öÇÐÀ» ±×´ë·Î µû¸£°í ÀÖ¾î¼ ½ÇÁ¦ »ýȰ¿¡¼ ¹ß»ýÇÒ ¼ö ÀÖ´Â ´Ù¾çÇÑ ¹®Á¦¸¦ Ǫ´Âµ¥ ÀÖ¾î¼ ÀýÂ÷ÁöÇâÀûÀÎ ¹æ¹ýÀ» µû¸¥´Ù. ÀÌ°Ç ¾î¼Àºí¸®¾î »Ó¸¸¾Æ´Ï¶ó, Æ÷Æ®¶õ, º£ÀÌÁ÷, C ¸ðµÎ¿¡ Æ÷ÇԵȴÙ. ÀýÂ÷ÁöÇâÀûÀ̶õ ÄÁÅ×ÀÌ³Ê º§Æ®¶ó°í »ý°¢ÇÏ¸é µÈ´Ù. Àç·á¸¦ Áý¾î ³Ö°í ÄÁÅ×ÀÌ³Ê º§Æ®¿¡ Áý¾î ³ÖÀ¸¸é ÃÖÁ¾ÀûÀ¸·Î ¹°°ÇÀÌ Æ¢¾î ³ª¿À´Â °ÍÀÌ´Ù. Ç®¾î¾ßÇÒ ¹®Á¦°¡ º¹ÀâÇØ Áú ¼ö·Ï ÀÌ·± ÀýÂ÷ÁöÇâÀû ¹æ¹ýÀ¸·Î´Â ÇѰ迡 ºÎµúÈ÷°Ô µÈ´Ù. Áï °³¹ß¸ðµ¨ÀÌ ¹®Á¦´Ù. ¿©±â¿¡¼ ÇѰè¶õ.. ¹®Á¦¸¦ Ç® ¼ö ¾ø´Ù¶ó´Â °ÍÀÌ ¾Æ´Ï°í, È¿À²ÀûÀ¸·Î Ç®¼ö ¾øÀ¸¸ç ´ÜÁö Ǫ´Â °Í »Ó¸¸ ¾Æ´Ï¶ó, À¯ÁöÇÏ°í º¸¼öÇϰí È®Àå½Ã۴µ¥ ±âÁ¸ ¹æ¹ýÀ¸·Î´Â ¸¹Àº ½Ã°£°ú ºñ¿ëÀÌ ¼ÒºñµÉ È®·üÀÌ ¸¹´Ù´Â °ÍÀÌ´Ù.
±×·¡¼ ¸¸µé¾îÁø °³¹ß ¸ðµ¨ÀÌ °´Ã¼ÁöÇâ ¸ðµ¨ÀÌ´Ù. ÄÁÅ×ÀÌ³Ê º§Æ® ¸ðÇüÀ» µû¸£´Â ÀýÂ÷ÁöÇâ °³¹ß ¸ðµ¨¿¡¼´Â µ¥ÀÌÅÍ¿Í µ¥ÀÌÅ͸¦ °¡°øÇϱâ À§ÇÑ ¸Þ¼µå(ÇÔ¼ö)°¡ ¼·Î ºÐ¸® µÇ¾î ÀÖ´Ù. µ¥ÀÌÅͰ¡ °è¼Ó Èê·¯°¡°í Áß°£¿¡ ÇÔ¼ö°¡ ÀÖ¾î¼ °¡°øÇÏ°í ´Ù½Ã ´ÙÀ½ ÇÔ¼ö·Î ³Ñ°ÜÁÖ´Â ¹æ½ÄÀÌ´Ù.
¹Ý¸é °´Ã¼ÁöÇâ °³¹ß ¸ðµ¨¿¡¼´Â µ¥ÀÌÅÍ¿Í ¸Þ¼µå¸¦ ºÐ¸®ÇÏÁö ¾Ê°í ÇϳªÀÇ °ø°£¿¡ µÐ´Ù.
°´Ã¼ÁöÇâÀ» ¸ñÇ¥·Î Á¦ÀÛµÈ ÃÖÃÊÀÇ (¼º°øÀûÀÎ) ¾ð¾î·Î Smalltalk¶ó´Â ¾ð¾î°¡ ÀÖ´Ù. Javaµµ ÀÌ ¾ð¾î¸¦ ±âÃÊ·¡ ÇÞ ¸¸µé¾î Á³´Âµ¥, °´Ã¼ÁöÇâÀ» À§ÇÑ ±âº»ÀûÀÎ ³ë¼±ÀÌ Á¤¸³µÈ ¾ð¾î´Ù. °´Á¦ÁöÇâ ¾ð¾î¶ó°í ÇÑ´Ù¸é º¸Åë ¾Æ·¡ÀÇ 5°¡ÁöÀÇ ¿ä¼Ò¸¦ ¸¸Á·½ÃŰ´Â Ư¼ºÀ» Áö¿øÇÒ ¼ö ÀÖ¾î¾ß ÇÑ´Ù.
2.6 Ãß»óȸ¦ ÅëÇØ ¾ò´Â À̵æ
ÀÚµ¿Â÷¸¦ »ý°¢Çغ¸ÀÚ. ÀÚµ¿Â÷´Â Àηù°¡ °³¹ßÇÑ À°»óÀ̵¿ ¼ö´ÜÁß °¡Àå °íµµ·Î Ãß»óÈµÈ ±â°è´Ù. ÀÚü¿¡ ¹ßÀü,°ø±Þ,ÀúÀå,Åë½Å,Á¦¾î ½Ã¼³À» °®Ãá ¼ÒÇü °øÀåÀ̶ó°í ÇÒ¸¸ÇÏ´Ù.
±×·¯³ª ¿îÀüÀÚ°¡ ÀÌ·¯ÇÑ ¸ðµç³»¿ëÀ» ¾Ë¾Æ¾ßÁö¸¸ ÀÚµ¿Â÷¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖ´Â °Ç ¾Æ´Ï´Ù. ´ëºÎºÐÀÇ ±â´ÉµéÀº Ãß»óÈ(¼û°ÜÁ®)ÀÖÀ¸¸ç, »ç¿ëÀÚ´Â ´ÜÁö ÇÚµé°ú, ºê·¹ÀÌÅ©, ¾Ç¼¿·¹ÀÌÅÍ¿Í ¸î°³ÀÇ °è±âÆÇÀ» º¼¼ö ÀÖÀ¸¸é ¿îÀüÀÌ °¡´ÉÇÏ´Ù.
º¹ÀâÇÑ ³»ºÎ ±¸ÇöÀ» ¼û±èÀ¸·Î½á »ç¿ëÀÚ´Â ÀÌ°Í Àú°Í ½Å°æ¾µ ÇÊ¿ä ¾øÀÌ, Á¦°øµÇ´Â ¸î°³ÀÇ ÀÎÅÍÆäÀ̽º¸¸À¸·Î »ç¿ëÀÌ °¡´ÉÇÏ´Ù. ÀÌ°Ô Ãß»óȰ¡ °¡Á®´Ù Áִ ù¹øÂ° À̵æÀÌ´Ù. ÀÚµ¿Â÷°¡ óÀ½ ³ª¿Ô´ø°Ô 19¼¼±â ¸»ÀÌ¿´´ø °Í °°´Ù. ±×·¯³ª ¼º´É»óÀÇ Â÷ÀÌ´Â ÀÖ°ÚÁö¸¸ 100³âÀÌ Áö³ Áö±Ýµµ ÀÚµ¿Â÷ÀÇ ±âº»ÀûÀÎ ¿îÀü¹æ¹ýÀº °ÅÀÇ º¯ÇÔÀÌ ¾ø´Ù. ±×¶§³ª Áö±ÝÀ̳ª ¿©ÀüÈ÷ ¿îÀüÀÚ´Â ÇÚµé, ºê·¹ÀÌÅ©, ¾Ç¼¿·¹ÀÌÅÍ ÀÌ 3°¡Áö¸¦ ÀÌ¿ëÇØ¼ ÀÚµ¿Â÷¸¦ Á¦¾îÇÑ´Ù. ÀÌ·¯ÇÑ°Í ÀÚµ¿Â÷ÀÇ ±¸ÇöÀ» "Ãß»óÈ"ÇÔÀ¸·Î °¡´ÉÇÏ´Ù.
Áï ±¸Çö°ú ÀÎÅÍÆäÀ̽º¸¦ ºÐ¸®½ÃÄÑÁÜÀ¸·Î (ÃÖÃÊ¿¡ ÀÎÅÍÆäÀ̽º¸¸ Àß ¼³°èÇÑ´Ù¸é)±â´ÉÀÌ ´ëÆø¾÷±×·¹ÀÌµå µÇ´õ¶óµµ »ç¿ëÀÚ´Â À̰Ϳ¡ ½Å°æ¾µÇÊ¿ä ¾øÀÌ ±âÁ¸ÀÇ ¿îÀü±â¼úÀ» ±×´ë·Î »ç¿ëÇÒ ¼ö ÀÖ°Ô µÈ´Ù.
ÇÁ·Î±×·¥°³¹ß¿¡ À־µ ÀÌ·¯ÇÑ À̵æÀ» ±×´ë·Î ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù. Ãß»óȸ¦(Àß) ½ÃŰ°Ô µÇ¸é ÀÎÅÍÆäÀ̽º¿Í ±¸ÇöÀ» ±¸ºÐ½ÃÄÑ ÁÜÀ¸·Î½á ÀÏ¹Ý ÇÁ·Î±×·¥°³¹ßÀ» ÇÒÀû¿¡ ¼¼ºÎÀúÀÎ º¹ÀâÇÑ ±¸Á¶¸¦ ½Å°æ¾µ ÇÊ¿ä ¾øÀÌ Á¦°øµÇ´Â ¸î°³ÀÇ ÀÎÅÍÆäÀ̽º¸¸À» ÀÌ¿ëÇØ¼ ÇÊ¿äÇÑ ÀÏÀ» ÇÒ ¼ö ÀÖ´Ù. ±¸ÇöÀ» ¾÷±×·¹ÀÌµå ½ÃÄѾßÇÒ °æ¿ì¿¡µµ °³¹ßÀÚ´Â ¿©±â¿¡ ´ëÇØ¼ ½Å°æ¾µ Çʿ䰡 ¾ø°Ô µÈ´Ù.
°£´ÜÇÏ°Ô »ý°¢ÇÏÀÚ¸é ¿ì¸®°¡ ÇÁ·Î±×·¡¹ÖÀ» À§Çؼ »ç¿ëÇÏ´Â open(2), write(2)°°Àº ÇÔ¼ö¿ª½Ã Ãß»óÈÀÇ °á°ú¹°ÀÌ´Ù. ¿ì¸®´Â open(2)ÀÇ ³»ºÎ±¸Á¶°¡ ¾î¶»°Ô µÇ¾îÀÖ´ÂÁö ½Å°æ¾²Áö ¾Ê°íµµ Àß ¾µ ¼ö ÀÖ´Ù. 2.7 °´Ã¼´Â ÀÎÅÍÆäÀ̽º¸¦ °¡Áø´Ù.
°´Ã¼¿¡ ´ëÇØ¼ ±íÀº »ç°í¸¦ ÇÑ ÃÖÃÊÀÇ Ã¶ÇÐÀÚ´Â (º¸Åë)¾Æ¸®½ºÅä ÅÚ·¹½º·Î ¾Ë·ÁÁ® ÀÖ´Ù.±×´Â "the class of fishes and the class of birds"¶ó°í ½ÇÁ¸ÇÏ´Â ¸ðµç °ÍµéÀ» °´Ã¼·Î ºÐ·ùÇß´Ù. °´Ã¼´Â ÀϹÝÀûÀ¸·Î À¯ÀÏÇϸç, °¢ °´Ã¼´Â °íÀ¯ÀÇ Æ¯Â¡°ú ÇൿƯ¡À» °¡Áö´Â °ÍÀ¸·Î Á¤ÀÇÇÒ ¼ö ÀÖ´Ù. Ŭ·¡½º¶õ ÀÌ·¯ÇÑ °´Ã¼ÀÇ °íÀ¯ Ư¼º°ú ÇൿƯ¡À» ÇÔ²² ¹¾î³õÀº °³³äÀÌ´Ù. ÇϳªÀÇ Å¬·¡½º´Â ¿©·¯°³ÀÇ °´Ã¼¸¦ Æ÷ÇÔÇÒ ¼öµµ ÀÖ´Ù. »õ¶ó´Â Ŭ·¡½º¿¡ Âü»õ 1, Âü»õ 2, Á¦ºñ, Çҹ̻õ¿Í °°Àº °´Ã¼°¡ Æ÷Ç﵃ ¼ö ÀÖ´Â °Í°ú ¸¶Âù°¡Áö´Ù.
Ŭ·¡½º(class)¸¦ óÀ½ µµÀÔÇÑ °´Ã¼ÁöÇâ ¾ð¾î´Â Simula-67 ÀÌ´Ù.
Simula´Â ±× À̸§¿¡¼ ´À³¥ ¼ö ÀÖ´Â°Í Ã³·³ ¾î¶² »óȲÀ» "½Ã¹Ä·¹À̼Ç"Çϱâ À§ÇÑ ¿ëµµ·Î ÀÛ¼ºµÇ¾úÀ¸¸ç bank teller problem°ú °°Àº ¹®Á¦¸¦ ÇØ°áÇϱâ À§Çؼ »ç¿ëµÇ¾ú´Ù. ¿©±â¿¡ »ó´ã¿ø, °í°´, Æ®·£Àè¼Ç, °èÁ¤, µ·µî°ú °°Àº ¸¹Àº ¿ä¼ÒµéÀÌ ÀÖ´Ù. ÀÌ·¯ÇÑ ¿ä¼ÒµéÀº "ÀºÇà¾÷¹«"¶ó´Â ÀÛ¾÷À» ´Þ¼ºÇϱâ À§Çؼ »óÈ£Åë½ÅÇÏ¸é¼ ÀÏÁ¾ÀÇ ±×·ìó·³ ¿òÁ÷ÀδÙ. ±×·¸´Ù¸é ÀÌµé ¿ä¼Ò¸¦ ÇϳªÀÇ Å¬·¡½º·Î ¹¾î¼ ó¸®ÇÏ°Ô µÈ´Ù¸é Á»´õ Çö½Ç¿¡ °¡±õ°Ô »óȲÀ» ½Ã¹Ä·¹ÀÌ¼Ç ÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. Áï ¿ä¼ÒÀÇ À¯±âÀûÀÎ ¸ðÀÓÀΠŬ·¡½º°¡ ¶ÇÇϳªÀÇ µ¥ÀÌÅͰ¡ µÇ´Â °ÍÀÌ´Ù. °¢ ¿ä¼Ò´Â ÇϳªÀÇ Å¬·¡½º ¾È¿¡¼ À¯ÁöÀûÀ¸·Î ¿òÁ÷ÀδÙ. ¿¹¸¦ µé¾î °í°´Àº »ó´ã¿ø°ú »ó´ãÀ» Çϰí ÀÚ½ÅÀÇ °èÁ¤À» ÅëÇØ¼ Àú±ÝÀ» Çϰųª µ·À» ã°Å³ª ¶Ç´Â ´Ù¸¥ÀÏÀ» ÇÒ ¼ö ÀÖ´Ù. ¸¸¾à »õ·Î¿î °í°´ÀÌ ÀºÇàⱸ¿¡ µé¾î¿Â´Ù¸é »õ·Î¿î "ÀºÇà¾÷¹«-1" °´Ã¼°¡ »ý¼ºµÉ °ÍÀÌ´Ù.
ÀÌó·³ Ŭ·¡½º¶ó´Â °³³äÀº ¾î¶² »óȲÀ» ½Ã¹Ä·¹ÀÌ¼Ç Çϱ⿡ Àû´çÇÑ °³³äÀ̶ó´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù. ÀÌ·ÐÀûÀ¸·Î Ŭ·¡½º¸¦ ÀÌ¿ëÇÏ¸é ¸ðµç »óȲ¿¡ ´ëÇÑ ½Ã¹Ä·¹À̼ÇÀÌ °¡´ÉÇÏ´Ù. Ŭ·¡½º¿¡ ÀÖ´Â °¢°¢ÀÇ ¿ä¼ÒµéÀº ¾î¶² ¹®Á¦¸¦ Ç®±â À§Çؼ Á¸ÀçÇÑ´Ù. Áï °´Ã¼ÁöÇâ ÇÁ·Î±×·¡¹ÖÀ̶ó ÇÔÀº ¾î¶°ÇÑ µ¿ÀÏ ¹®Á¦Çذ῵¿ª¿¡ ÀÖ´Â ¿©·¯ ¿ä¼ÒµéÀ» Á¦¾îÇÔÀ¸·Î½á ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇÑ °³¹ßöÇÐÀ̶ó°í ÇÒ ¼ö ÀÖ´Ù. ´ëºÎºÐÀÇ °´Ã¼ÁöÇâ ¾ð¾î¿¡¼ ¹®Á¦Çذ῵¿ªÀº º¸Åë class¶ó´Â Ű¿öµå·Î Ç¥ÇöµÈ´Ù.
Áö±Ý±îÁö Ŭ·¡½º¿¡ ´ëÇÑ ´ë·«ÀûÀÎ ³»¿ëÀ» »ìÆìº¸¾Ò´Âµ¥, Áö±ØÈ÷ Ãß»óÀûÀ̰í öÇÐÀûÀÌ¶ó¼ ¾î¶»°Ô ½á¸ÔÀ» ¼ö ÀÖÀ»Áö °¨ÀÌ ÀâÈ÷Áö ¾ÊÀ» ¼ö ÀÖÀ» °Í °°´Ù. ±¸Ã¼ÀûÀÎ ÀÌÇØ¸¦ µ½±â À§Çؼ Àü±¸¿¡ ´ëÇÑ Á¦¾î¸¦ ½Ã¹Ä·¹ÀÌ¼Ç ÇØº¸±â·Î ÇϰڴÙ. ¹®Á¦¿µ¿ªÀº ºûÀÇ Á¶ÀýÀ̸ç ÀÌ ¹®Á¦¸¦ ÇØ°áÇϱâ À§Çؼ Äѱâ, ²ô±â, ¹à°ÔÇϱâ, ¾îµÓ°Ô Çϱâ¶ó´Â ÀÎÅÍÆäÀ̽º µéÀÌ ÇÊ¿äÇÔÀ» ¾Ë ¼ö ÀÖ´Ù. À̵é ÀÎÅÍÆäÀ̽º¸¦ ÅëÇØ¼ ´Ù·ç´Â ¿ä¼Ò(µ¥ÀÌÅÍ)´Â ºûÀÌ µÉ °ÍÀÌ´Ù.
À§ÀÇ Å¬·¡½º¸¦ º¸¸é ºûÀ» Á¶ÀýÇϱâ À§Çؼ 4°³ÀÇ ÀÎÅÍÆäÀ̽º°¡ »ç¿ëÀÚ(ÇÁ·Î±×·¡¸Ó)¿¡°Ô Á¦°øµÇ¾îÁüÀ» ¾Ë ¼ö ÀÖ´Ù. ÇÁ·Î±×·¡¸Ó´Â 4°³ÀÇ ÀÎÅÍÆäÀ̽º¸¦ ÀÌ¿ëÇØ¼ ÇÊ¿äÇÑ ¸ðµçÀÏÀ» ÇÒ ¼ö Àִµ¥ ÀÎÅÍÆäÀ̽º¸¦ ÅëÇØ¼ ½ÇÁ¦ ³»ºÎÀûÀ¸·Î ¾î¶°ÇÑ ÀÏÀÌ ÀϾ´Â Áö¿Í ³»ºÎÀÇ µ¥ÀÌÅͰ¡ ¼û¾î(Ãß»óÈ)µÇ¾î ÀÖÀ½À» ¾Ë ¼ö ÀÖ´Ù. »ç¿ëÀÚ´Â °¢ ÀÎÅÍÆäÀ̽º¸¦ Á¶ÀýÇØ¼ ÇÊ¿äÇÑ ÀÏÀ» ¼öÇàÇÏ°Ô µÈ´Ù.
¿©±â¿¡¼ Ŭ·¡½ºÀÇ À̸§Àº Light¶ó°í Çß´Ù. ÀÚ ÀÌÁ¦ ¿©·¯ºÐÀÌ Àü±¸¸¦ Çϳª »ò´Ù°í Çϸé À̷μ ItÀ̶ó´Â »õ·Î¿î °´Ã¼¸¦ »ý¼ºµÈ °ÍÀÌ´Ù. ¿©·¯°³ÀÇ Àü±¸°¡ ÇÊ¿äÇÒ ¼ö Àִµ¥, ±×·² ¶§¸¶´Ù ¼·Î ´Ù¸¥ À̸§À» °¡Áö´Â °´Ã¼¸¦ »ý¼º½ÃŰ¸é µÈ´Ù. It°´Ã¼´Â Ŭ·¡½º Light¸¦ ÂüÁ¶Çؼ »ý¼ºµÈ °´Ã¼À̸ç new¶ó´Â Ű¿öµå¸¦ ÅëÇØ¼ »ý¼ºµÈ´Ù(µ·ÁÖ°í Àü±¸Çϳª »ç´Â °Í°ú µ¿ÀÏÇÏ´Ù). ¿©±â¿¡¼ ¿ì¸®´Â Ŭ·¡½º¿Í °´Ã¼ÀÇ À̸§°£¿¡ ¿¬°áÀÌ ÀÖÀ½À» ¾Ë ¼ö ÀÖ´Ù.
À§ÀÇ °°ÀÌ Å¬·¡½º¿Í °´Ã¼°£ ¿¬°ü°ü°è¸¦ ¿¬°áÇÏ´Â ´ÙÀ̾î±×·¥(diagram)Çü½ÄÀÇ ±¸¼ºµµ¸¦ ±×¸± ¼ö ÀÖÀ» °ÍÀε¥, UML(Unified Modeling Language)¶ó´Â µµ±¸¸¦ ÀÌ¿ëÇØ¼ ±×¸± ¼ö ÀÖ´Ù. À§ÀÇ °æ¿ì´Â Ŭ·¡½º¿Í °´Ã¼ÀÇ °¡Àå ´Ü¼øÇÑ ¿¹ÀÌÁö¸¸ °´Ã¼ÀÚü°¡ Ŭ·¡½º°¡ µÉ ¼ö ÀÖ°í, »ó¼ÓµîÀÌ ÀϾ ¼ö ÀÖÀ¸¹Ç·Î ½ÇÁ¦·Î´Â ²Ï³ª º¹ÀâÇÑ ±¸¼ºµµ°¡ ¸¸µé¾îÁö°Ô µÈ´Ù. UMLÀº ±× ÀÚü°¡ ÇϳªÀÇ ÇнÀºÐ¾ßÀ̹ǷΠ¿©±â¿¡¼´Â ÀÚ¼¼È÷ ´Ù·çÁö ¾ÊÀ» °ÍÀÌ´Ù. ÀÌ·±°ÍÀÌ ÀÖ´Ù´Â Á¤µµ¸¸ ÀÌÇØÇÏ°í ³Ñ¾î°¡µµ·Ï ÇÏÀÚ. 2.8 °´Ã¼´Â ¼ºñ½º¸¦ Á¦°øÇÑ´Ù.
»·ÇÑ ¾ê±â´Ù. ÀºÇà¾÷¹«-1°´Ã¼´Â °í°´¿¡°Ô ÀºÇ༺ñ½º¸¦ Á¦°øÇϱâ À§Çؼ, It°´Ã¼´Â ¹à°Ô ºñÃçÁÖ´Â ¼ºñ½º¸¦ Á¦°øÇϱâ À§Çؼ Á¸ÀçÇÑ´Ù. 3 OOP (Object-Oriented Programming) °³·Ð
ÀÌ ±ÛÀº Á¦°¡ ¿À·¡Àü ÀâÁö¿¡¼ º» °Á¸¦ ŸÀÌÇÎÇÏ¿© ÆÄÀÏ·Î ÀúÀåÇØµÐ °ÍÀ» ¿Ã¸° °ÍÀÔ´Ï´Ù.
¾Æ½±°Ôµµ ÀâÁö¸íÀ̳ª ÀúÀÚ À̸§Àº ¿À·¡µÈÁö¶ó ±â¾ïÀÌ ³ªÁö ¾ÊÁö¸¸ Àü¹®À» ¿Ã·ÈÀ¸´Ï Àß Àо½Ã±â ¹Ù¶ø´Ï´Ù. 3.1 Object-Oriented ProgrammingÀÇ µîÀå3.1.1 ¼ÒÇÁÆ®¿þ¾î À§±â (Software Crisis)
ÄÄÇ»ÅͰ¡ ÃâÇöÇÏ°í ±× ±â´ÉÀÌ ¹ß´ÞÇÔ¿¡ µû¶ó ¿ì¸®µéÀº ±×°ÍÀ» »ç¿ëÇÏ¿© º¸´Ù Æí¸®Çϰí À±ÅÃÇÑ »ýȰ - Á¤¸» À±ÅÃÇÏ°Ô µÇ¾ú´ÂÁö ¾Æ´ÑÁö¿¡ ´ëÇÑ ¾ð±ÞÀº ÇÏÁö ¾Êµµ·Ï Çϰڴ٠- À» ÇÏ°Ô µÇ¾ú´Ù. ±×¿¡ µû¶ó ¼ÒÇÁÆ®¿þ¾îÀÇ ¼ö¿ä°¡ ±âÇϱ޼öÀûÀ¸·Î Áõ°¡ÇϰԵȴÙ. °á±¹ °ø±ÞÀÌ ¼ö¿ä¸¦ µû¶ó°¡Áö ¸øÇÏ´Â »óÅ¿¡ À̸£°Ô µÈ´Ù. Çϵå¿þ¾îÀÇ ¹ßÀüÀº ´«ºÎ½Ãµµ·Ï ³î¶ó¿îµ¥ ±×¿¡ ºñÇÏ¸é ¼ÒÇÁÆ®¿þ¾îÀÇ ¹ßÀüÀº ±× ¹ßÄ¡¿¡µµ ¹ÌÄ¡Áö ¸øÇϰí ÀÖ´Â °ÍÀÌ´Ù. ÀÌ·¯ÇÑ À§±â»óȲ ¼Ó¿¡¼ À̸¦ ±Øº¹ÇϰíÀÚ ÇÏ´Â ³ë·ÂÀ» ±¸Ã¼ÀûÀÎ ¹æ¹ý·ÐÀ¸·Î Ç¥ÇöÇÑ °ÍÀÌ ¼ÒÇÁÆ®¿þ¾î °øÇÐ (SE : Software Engineering)Àε¥, Object-Oriented Programming(Paradigm)µµ ¹Ù·Î ÀÌ SEÀÇ ÇÑ ¹üÁÖ¿¡ ¼ÓÇÑ´Ù°í ÇÒ ¼ö ÀÖ°Ú´Ù. Áý丸ÇÑ °ø·æÀÌ ¸ÞÃ߸®¾Ë Å©±âÀÇ ³ú¸¦ °¡Áö°í ÀÖ´Â »óŶó°í º¼ ¼ö ÀÖÀ» °ÍÀÌ´Ù. 3.1.2 ¼ÒÇÁÆ®¿þ¾îÀÇ ±¸¼º ¹æ¹ýÀÇ º¯Ãµ
ÃÊâ±â¿¡´Â ¸ðµç ¼ÒÇÁÆ®¿þ¾î¸¦ ´ÜÁö ÇϳªÀÇ Procedure·Î ¸¸µé¾î ³Â´Ù. ±×·¯³ª ¸¹Àº ½Ã°£°ú ¿©·¯ »ç¶÷ÀÇ ³ë·ÂÀÌ ÇÊ¿äÇÑ Å« ½Ã½ºÅÛÀ» ±¸ÃàÇÏ·Á°í ÇÒ ¶§¿¡ ÀÌ·± ¹æ¹ýÀº ÀûÀýÇÏÁö ¸øÇÏ´Ù. ±×·¡¼ Å« ÇÁ·Î±×·¥À» °¢ ±â´Éº°·Î ¿©·¯°³ÀÇ SubroutineÀ¸·Î ³ª´©¾î(Functional Decomposition) µ¶¸³ÀûÀÎ ºÎºÐÀ¸·Î ¸¸µé¾î(Modularization) ¿©·¯»ç¶÷¿¡°Ô ÇÒ´çÇϰí, °¢°¢ÀÇ ¸ðµâÀÌ ¿Ï¼ºµÈ ÈÄ¿¡´Â ±×°ÍµéÀ» ¼·Î Â¥¸ÂÃß¾î ÇϳªÀÇ ½Ã½ºÅÛÀ¸·Î ¿Ï¼ºÇÏ´Â ¹æ¹ýÀ» »ç¿ëÇÏ°Ô µÈ´Ù. À̰ÍÀ» Modular ProgrammingÀ̶ó°í ÇÑ´Ù. ÀÌ Modular Programming°ú ÇÔ²² ¸î¸î ±ÔÄ¢µéÀ» Àû¿ëÇÏ¿© Structured ParadigmÀ̶ó´Â ¼ÒÇÁÆ®¿þ¾î ±¸¼º¹æ¹ýÀÌ »ý°Ü³ª°Ô µÇ¾úÀ¸¸ç, Áö±Ý±îÁöµµ ³Î¸® »ç¿ëµÇ°í ÀÖ´Ù. 3.1.3 Structured ¹æ¹ýÀÇ ¹®Á¦Á¡
±âÁ¸ÀÇ Structured ¹æ¹ýÀº ó¸®(Process)¸¦ Áß½ÉÀ¸·Î Çϰí ÀÖ´Ù. ¹Ù·Î ÀÌÁ¡ÀÌ ¹®Á¦°¡ µÈ´Ù. µ¥ÀÌŸ(Data)´Â ´ÜÁö °Àǽǿ¡¼ÀÇ Ä¥ÆÇó·³ ÇÊ¿äÇÒ¶§¸¶´Ù ½è´Ù Áö¿ü´ÙÇÏ´Â º¸Á¶ ¼ö´ÜÀ¸·Î ¿©°Ü ±×´ÙÁö Áß¿ä½ÃÇÏÁö ¾Ê°Ô »ý°¢Çß´Ù. µ¥ÀÌÅ͸¦ µ¶¸³µÈ ´ÜÀ§·Î º¸´Â ÀÌ·¯ÇÑ ½Ã°¢Àº ó¸®ÇؾßÇÒ µ¥ÀÌÅÍÀÇ Àý´ëÀûÀÎ ¾çÀÚü°¡ Àû¾úÀ»¶§´Â Å©°Ô ¹®Á¦°¡ µÇÁö ¾Ê°ÚÁö¸¸, ¿äÁòó·³ ´Ù·ç¾î¾ß ÇÏ´Â µ¥ÀÌÅÍÀÇ ±âº»´ÜÀ§°¡ ±â°¡°¡ µÇ´Â °æ¿ì¿¡´Â ¹®Á¦°¡ µÈ´Ù. ¸¹Àº µ¥ÀÌŸ¸¦ °øÀ¯Çؾ߸¸Çϰí, ¿øÇÏ´Â µ¥ÀÌŸ¸¦ ¿©±âÀú±â ¸¶±¸ ºÒ·¯ »ç¿ëÇÏ´Â »óȲÀº Modular ProgrammingÀÇ ¿ø¸®¸¦ ¾î±â°Ô µÇ¾ú°í µû¶ó¼ ¸ðµâÀÇ ÀçȰ¿ë¼º(Reusablity)ÀÌ ¶³¾îÁö°Ô µÈ °ÍÀÌ´Ù. DBMS(DataBase Management System)¸¦ »ç¿ëÇÏ¿© ÀÌ·± ¹®Á¦¸¦ ´Ù¼Ò ÇØ°áÇÒ ¼ö´Â ÀÖÀ¸³ª À̷μ´Â ÃæºÐÇÏÁö ¾Ê´Ù. 3.1.4 Object-Oriented ParadigmÀÇ µîÀå
ÇÁ·Î±×·¥ÀÇ ÀçȰ¿ë¼ºÀ» ³ôÀ̱â À§Çؼ´Â Modular Programming, À̸¦ À§Çؼ´Â Procedure»Ó¸¸ÀÌ ¾Æ´Ï¶ó µ¥ÀÌŸµµ ¸ðµâÈ µÇ¾î¾ß ÇÑ´Ù´Â ¹æ¹ý·ÐÀÌ µîÀåÇßÀ¸¸ç À̰ÍÀÌ Object-Oriented ParadigmÀÇ Áß¿äÇÑ ±âº» ¿ä¼Ò°¡ µÇ¾ú´Ù. 1960³â´ë¿¡ µîÀåÇÑ Simula´Â Çö½Ç¼¼°è¸¦ SimulationÇÏ´Â °ÍÀ» ÁÖ¸ñÀûÀ¸·Î ÇÏ´Â ÇÁ·Î±×·¡¹Ö ¾ð¾î¿´´Âµ¥, ÀÌ ÇÁ·Î±×·¥¿¡ µµÀÔµÈ ÇÁ·Î±×·¡¹Ö °³³äÀÌ ¹Ù·Î Object-Oriented ParadigmÀÇ È¿½Ã°¡ µÇ¾ú´Ù. 3.2 OOPÀÇ ±âº»°³³ä3.2.1 Object
Object´Â µ¥ÀÌŸ¿Í ÀÌ¿Í °ü·ÃµÈ Procedure¸¦ Çѵ¥ ¹¾î Ç¥ÇöÇÑ ¼ÒÇÁÆ®¿þ¾î ÆÐŰÁöÀÌ´Ù. ÀÌ´ÂÇö½Ç¼¼°è°¡ ó¸®Áß½ÉÀÌ ¾Æ´Ñ »ç¹°(°´Ã¼ : Object)Áß½ÉÀ¸·Î ÀÌ·ç¾îÁ³´Ù´Âµ¥¿¡ ¹ÙÅÁÀ» µÐ °ÍÀÌ´Ù. ¼¼Æ÷(Cell)¸¦ ¿¹·Î µé¾î »ý°¢ÇØ º¸ÀÚ. ¼¼Æ÷´Â ÇÙ, ¹ÌÅäÄܵ帮¾Æ, ¼¼Æ÷Áú, ¼¼Æ÷¸· µîÀ¸·Î ÀÌ·ç¾î Á³´Âµ¥, ÀÌ·¯ÇÑ ¼¼Æ÷ÀÇ ±¸¼º ¿ä¼Òµé¿¡°Ô´Â °¢°¢ÀÇ ¿ªÈ°ÀÌ ÁÖ¾îÁ® ÀÖ´Ù. ±×·¯³ª ±â°üÀÇ ÀÔÀå¿¡¼ »ìÆì¸é, ¼¼Æ÷ÀÇ ±¸¼º ¿ä¼ÒµéÀÌ ¾î¶°ÇÑ ÀϵéÀ» ÇÏ´ÂÁö´Â ±×´ÙÁö Áß¿äÇÑ »ç½ÇÀÌ ¾Æ´Ï´Ù. ´ÜÁö ´Ü¹éÁúÀ̳ª ¹«±âÁúÀ» ¼¼Æ÷³»·Î Àü´ÞÇØ ÁÖ¸é, ¼¼Æ÷´Â ±×°ÍµéÀ» °¡Áö°í ÀÚ½ÅÀÇ ÀÓ¹«¸¸À» ¼öÇàÇÏ¸é µÇ´Â °ÍÀÌ´Ù. ¼¼Æ÷³»¿¡ ¾î¶°ÇÑ ±¸¼º¿øµéÀÌ ÀÖ´ÂÁö´Â ¾Ë Çʿ䵵 ¾ø°í, ´ÜÁö ¼¼Æ÷ ±× ÀÚü·Î¼¸¸ ÀνĵǸé ÃæºÐÇÑ °ÍÀÌ´Ù. Objectµµ ÀÌ¿Í ¸¶Âù°¡Áö·Î »ý°¢ÇÏ¸é ½±°Ô ÀÌÇØ°¡ °¥ °ÍÀÌ´Ù. 3.2.2 Abstract Data Type & Data Abstraction
ÇÁ·Î±×·¡¸Ó°¡ ±âÁ¸ÀÇ Data TypeÀ» ÀÌ¿ë - Á¶ÇÕ - ÇÏ¿© Á¤ÀÇÇÑ »õ·Î¿î Data TypeÀ» Abstract Data TypeÀ̶ó°í Çϸç, À̰ÍÀ» Data Abstraction(µ¥ÀÌÅÍ Ãß»óÈ)À̶óÇÑ´Ù. À̶§ ÀϹÝÀûÀ¸·Î »õ·Î¿î µ¥ÀÌÅÍ¿Í ±× µ¥ÀÌÅÍ¿¡ ´ëÇÑ ¿¬»ê±îÁö ÇÔ²² ¹¾î¼ - Áï °´Ã¼´ÜÀ§·Î - Á¤ÀÇÇÑ´Ù. ÀÌ·¸°Ô ÇÔÀ¸·Î½á »ç¶÷ÀÇ »ý°¢À» ÇÑ´Ü°è ³ô¿©, ±¸Ã¼ÀûÀÎ Low-Level(Primary) Data¿Í ¿¬»êÀÌ ¾Æ´Ñ, Ãß»óÈµÈ Data¿Í ¿¬»êÀ» ´Ù·ê ¼ö ÀÖ°Ô µÈ´Ù. ÀÌ Data AbstrationÀº º¹ÀâÇÑ µ¥ÀÌŸ(Complex Data)¸¦ ´Ù·ê¶§¿¡ È¿°úÀûÀÌ´Ù. ½ÇÁ¦·Î "Program = Level of Abstraction"À̶ó´Â °üÁ¡µµ ÀÖ´Ù. °¡Àå °£´ÜÇÑ ÇüÅÂÀÇ µ¥ÀÌÅÍ Ãß»óÀº ±¸Á¶Ã¼ÀÏ °ÍÀÌ´Ù. 3.2.3 Encapsulation
Data Abstraction¸¦ ÀÌ¿ëÇϸé EncapsulationÀ» ´Þ¼ºÇÒ ¼ö ÀÖ´Ù. ÇÊ¿äÇÑ µ¥ÀÌŸ¿Í Procedure¸¦ ¸ð¾Æ ĸ½¶¿¡ ´ã´Â °Í¿¡ Âø¾ÈÇÏ¿©ÀÌ·¸°Ô À̸§À» ºÙÀÎ °ÍÀÌ´Ù. ½ÇÁ¦·Î ÀÌ EncapsulationÀ¸·Î ÀÎÇØ »ý°Ü³ °á°ú°¡ ObjectÀÌ´Ù. ¿¹¸¦ µé¸é, Nucleus(ÇÙ), Mitochondria(¹ÌÅäÄܵ帮¾Æ), Membrane(¼¼Æ÷¸·)µîÀÇ º¯¼öµé°ú ±×¿Í °ü°èµÈ ÇÔ¼öµéÀ» Cell(¼¼Æ÷)À̶õ object³»¿¡ Á¤ÀÇÇØ ³õÀº °ÍÀÌ´Ù. ÀÌ·¸°Ô ÇÔÀ¸·Î½á ¿ì¸®µéÀº ÀÚ¼¼ÇÑ ºÎºÐ±îÁö ½Å°æÀ» ¾µ Çʿ䰡 ¾ø°í ´ÜÁö ¼¼Æ÷¶ó´Â Object¿Í Object·ÎÀÇ ÀÔÃâ·Â µ¥ÀÌÅ͸¸ »ý°¢ÇÏ¸é µÈ´Ù. 3.2.4 Infomation Hiding
EncapsulationÀ¸·Î ÀÎÇØ ³»ºÎÀÇ µ¥ÀÌŸ´Â ¿ÜºÎ·Î ºÎÅÍ °í¸³µÇ¾ú´Ù. µ¥ÀÌŸ´Â ÇÊ¿äÇÑ ¶§¿¡ ´ÜÁö ¿ÜºÎ·ÎºÎÅÍÀÇ Message¿¡ ÀÇÇØ¼¸¸ Á¢±ÙµÇ¾îÁú ¼ö Àִµ¥, ÀÌ·¯ÇÑ °ÍÀ» Information Hiding(Á¤º¸ Àº´Ð)À̶ó ÇÑ´Ù. ¸¸¾à Object³»ÀÇÀϺκÐÀ» ¼öÁ¤ÇÏ¿´´Ù°í ÇØµµ ±× º¯È´Â ´ÜÁö Object³»¿¡¼¸¸ ¿µÇâÀ» ³¢Ä¡°í, ÀÌ·Î ÀÎÇÏ¿© ¿ÏÀüÈ÷ ¸ðµâȰ¡ ÀÌ·ç¾îÁö´Â °ÍÀÌ´Ù. 3.2.5 Composite Object
ÇÑ Object°¡ ´Ù¸¥ Object¸¦ Æ÷ÇÔÇÒ ¼ö Àִµ¥ À̸¦ Composite Object¶ó ÇÑ´Ù. ÀÌ·¸°Ô ÇÔÀ¸·Î½á Æ÷ÇÔµÈ Object¸¦ »õ·Î¿î ObjectÀÇ ÇÑ ºÎºÐÀ¸·Î ´Ü¼øÈ½Ãų ¼ö ÀÖ°í, ±×¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀ» ¾Ë Çʿ䵵 ¾øÀ¸¸ç ¸¹Àº ÁÖÀǸ¦ ±â¿ïÀÏ Çʿ䵵 ¾øÀÌ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¹ÌÅäÄܵ帮¾Æ¿Í ¼¼Æ÷¿ÍÀÇ °ü°è¸¦ »ý°¢ÇÏ¸é µÉ °ÍÀÌ´Ù. 3.2.6 Message
Message´Â Object»çÀÌÀÇ ¼ÒÅëÀ» °¡´ÉÇÏ°Ô ÇÏ´Â ¹æ¹ýÀÌ´Ù. Message´Â Receiver, Method, ParameterÀÇ ¼¼ºÎºÐÀ¸·Î ±¸¼ºµÇ¾î Àִµ¥, ¿¹¸¦ µé¾î "Car go: 20" (À̰ÍÀº Smalltalk¿¡¼ »ç¿ëµÇ´Â Ç¥ÇöÀÌ´Ù. C++¿¡¼´Â Car.go(20)ÀÇ ÇüÅÂÀ̸ç, Object-Oriented ¹æ¹ýÀ» Áö¿øÇÏ´Â Programming Language¿¡¼ MessageÀÇ ±¸¼º¿ä¼ÒµéÀÇ ¼ø¼´Â ÀϹÝÀûÀ¸·Î °°Àº °æ¿ì°¡ ¸¹´Ù.)¶ó´Â Message¿¡¼ Car´Â ReceiverÀ̰í go:´Â Method, 20Àº ParameterÀÌ´Ù. ½±°Ô ¾Ë¼ö ÀÖµíÀÌ ÀÌ Receiver´Â ´ë»óÀÌ µÇ´Â(Message¸¦ ¼ö½ÅÇÏ´Â) objectÀÇ À̸§À̰í,go:´Â Car Object³»¿¡ Á¤ÀÇµÈ Procedure(¶Ç´Â Function)Àε¥ Object-Oriented¹æ¹ý¿¡¼´Â Method¶ó°í ºÎ¸¥´Ù. 20Àº MethodÀÇ ParameterÀÌ´Ù. Parameter´Â °æ¿ì¿¡ µû¶ó ÇÊ¿äÇÏÁö ¾ÊÀ» ¼öµµ ÀÖ´Ù. Object´Â Message¸¦ ÅëÇØ¼¸¸ Á¢±ÙµÉ ¼ö ÀÖ´Ù. 3.2.7 Overloading
°°Àº MethodÀ̸§¿¡ Çϳª ÀÌ»óÀÇ Àǹ̸¦ ºÎ¿©ÇÏ´Â °ÍÀ» OverloadingÀ̶ó ÇÑ´Ù. ¿¹¸¦ µé¾î Circle, Triangle, Rectangle À̶ó´Â ¼¼ Object´Â µµÇüÀ̶ó´Â °øÅëÁ¡À» °¡Áö°í ÀÖ´Ù. ÀÌ·¯ÇÑ µµÇüÀ» ±×¸®±â À§ÇØ Method¸¦ Á¤ÀÇÇÑ´Ù°í ÇÏÀÚ. ¼¼ µµÇüÀ» ±×¸®´Â ¹æ¹ýÀº È®¿¬ÇÏ°Ô ´Ù¸£´Ù. ±×·¯¹Ç·Î °¢°¢ CircleDraw, TriangleDraw, RectangleDraw¶ó´Â º°°³ÀÇ À̸§À¸·Î µÈ Method¸¦ ¸¸µé¾î¾ß Çϴµ¥, ÀÌ·¯ÇÑ ºÒÆíÇÔÀ» ¾ø¾Ö±â À§Çؼ Draw¶ó´Â ÇѰ³ÀÇ °øÅëµÈ MethodÀ̸§À» »ç¿ëÇÑ ¼¼°³ÀÇ method¸¦ ¸¸µé¾î °¢°¢ÀÇ object¿¡ Á¤ÀÇÇÑ´Ù. ´ÜÁö ¾î¶² Receiver¿¡°Ô Message°¡ ¼ö½ÅµÇ´Â°¡¿¡ µû¶ó ¼¼°¡ÁöÀÇ Method(Draw)Áß Çϳª°¡ °áÁ¤µÇ¾î »ç¿ëµÇ´Â °ÍÀÌ´Ù. ±×·¯¹Ç·Î "Circle Draw:10"À̶ó´Â Message°¡ ÁÖ¾îÁö¸é ¹ÝÁö¸§ÀÌ 10ÀÎ ¿øÀ» ±×¸± °ÍÀ̰í, "Rectangle Draw: 30 20"ÀÎ Message·Î´Â °¡·Î 30, ¼¼·Î 20ÀÎ Á÷»ç°¢ÇüÀ» ±× °ÍÀÌ´Ù. 3.2.8 OverloadingÀÇ ÀåÁ¡
¿¹¸¦ µé¾î Shape¶ó´Â Object°¡ ÀÖ´Ù°í °¡Á¤ÇØ º¸ÀÚ. ÀÌ Object´Â À§¿¡¼ ¿¹·Î µç ¼¼°¡ÁöÀÇ ObjectÁß ÇϳªÀÇ °ªÀ» °¡Áú ¼ö ÀÖ´Ù°í Çϸé, Program³»¿¡¼ ÀÌ Shpae¸¦ ±×¸°´Ù°í ÇÒ ¶§ ±âÁ¸ÀÇ ¹æ¹ýÀ¸·Î ÇÏ·Á¸é ¼¼°¡ÁöÀÇ ¼±Åù®À¸·Î Ç¥ÇöµÇ¾î¾ß ÇÑ´Ù. if Shape = Circle then CircleDraw else if Shape = Triangle then TriangleDraw else RectangleDraw
ÀÌ·¸°Ô ÇϰԵǸé, Program³»¿¡¼ Object¿¡ ´ëÇÑ »ó¼¼ÇÑ ³»¿ë±îÁö Programmer°¡ ¾Ë°í ÀÖ¾î¾ß ÇϹǷΠProgrammer¿¡°Ô ºÎ´ãÀÌ µÈ´Ù. ³ªÁß¿¡ Shape¿¡ »õ·Î¿î Object(¿¹¸¦ µé¸é, Hexagon °°Àº)¸¦ Ãß°¡µÈ¸é ¿ª½Ã Program³»¿¡ ¼öÁ¤ÀÌ °¡ÇØÁø´Ù. ±×·¯³ª Object-Oriented¹æ¹ýÀ¸·Î´Â °£´ÜÇÏ°Ô "Shape Draw:¶ó´Â ¹®ÀåÀ¸·Î ÃæºÐÇÏ´Ù. »õ·Î¿î object¸¦ Ãß°¡ÇÏ´õ¶óµµ ProgramÀ» ¼öÁ¤ÇÒ ÇÊ¿ä ¾øÀ¸¹Ç·Î È®À强ÀÌ ÁÁ°í, Program³»¿¡¼ Object¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀ» ¾Ë Çʿ䰡 ¾øÀ¸¹Ç·Î Information HidingÀÌ °¡´ÉÇØ Áö¸ç, »ç¿ëÇϱ⿡µµ Æí¸®Çϸç, ÀÌ ¸ðµç ÀåÁ¡À¸·Î ÀÎ ModuleȰ¡ °¡´ÉÇØÁø´Ù. 3.2.9 Polymorphism
°øÅëµÈ Interface¸¦ »ç¿ëÇÏ¿© ÇϳªÀÌ»óÀÇ ±â´ÉÀ» ¼öÇàÇÒ ¼ö ÀÖ´Â °ÍÀ» PolymorphismÀ̶ó°í ÇÑ´Ù. À̰ÍÀº Overloading°ú Overriding(Ưº°ÇÑ ÇüÅÂÀÇ Overlading)À» º¸´Ù ÀϹÝÀûÀ¸·Î ÀÏÄ´ ǥÇöÀÌ´Ù. 3.2.10 Class
Class´Â Method¿Í Attribute(¼Ó¼º)µéÀ» Æ÷ÇÔÇϴ ƯÁ¤ÇÑ ÇüÅÂÀÇ Object¸¦ Á¤ÀÇÇϴ Ʋ(Template)ÀÌ´Ù. µû¶ó¼ Class´Â ±ÝÇü°ú °°ÀÌ ¼ö¸¹Àº º¹Á¦Ç°À» ¸¸µé¾î ³¾¼ö ÀÖÀ¸¸ç, ÀÌ º¹Á¦Ç°À» Instance¶ó°í ÇÑ´Ù. Instance´Â ´ÜÁö (Value)µé ¸¸À» Æ÷ÇÔÇϰí ÀÖÀ¸¸ç, µû¶ó¼ ÀÌ Instance¿¡ Method°¡ ¼ö½ÅµÇ¸é Class¿¡¼ Method¸¦ ã¾Æ ¼öÇàÇÑ´Ù. ±×·¯¹Ç·Î 'Object'´Â ClassÀÇ Instance¶ó °í ÇÒ ¼ö ÀÖ´Ù. ¼¼Æ÷·Î ¾ê±âÇÏÀÚ¸é ¾î¶°ÇÑ ¼¼Æ÷·Îµµ ºÐÈ °¡´ÉÇÑ ¸¸´É¼¼Æ÷°¡ Class Âë¿¡ ÇØ´çÇÑ´Ù°í º¼ ¼ö ÀÖ´Ù. ¸¸´É¼¼Æ÷´Â ÀÚ½ÅÀÌ À§Ä¡ÇÏ´Â ±â°ü¿¡ µû¶ó¼ ½Å°æ¼¼Æ÷, ±ÙÀ°¼¼Æ÷, ´º·±¼¼Æ÷µî ´Ù¾çÇÑ ¼¼Æ÷¸¦ ¸¸µé¾î ³½´Ù. 3.2.11 SuperClass¿Í SubClass
ÇÑ Class°¡ ´Ù¸¥ ClassÀÇ Æ¯Á¤ÇÑ ÇüÅÂÀÇ Çϳª·Î Á¤ÀÇµÉ ¶§ ±âÁ¸ÀÇ Class¸¦ SuperClass, »õ·Î¿î Class¸¦ SubClass¶ó ÇÑ´Ù. ![]() 3.2.12 Inheritence(»ó¼Ó)
SubClass´Â SuperClassÀÇ ¸ðµç °ÍµéÀ» »ó¼Ó ¹ÞÀ» ¼ö ÀÖ´Ù. Áï, SuperClassÀÇ ¸ðµç Method¿Í AttributeµéÀ» º°µµÀÇ Á¤ÀǾøÀÌ »ç¿ëÇÒ ¼ö ÀÖ´Ù. 3.2.13 Class Hierarchy
Class Hierarchy¶õ ClassµéÀÇ Tree¸ð¾çÀÇ ±¸Á¶¸¦ ¸»ÇÑ´Ù. À̰ÍÀº -ÀÌ·ÐÀûÀ¸·Î- Á¦ÇѾøÀÌ Áßø(Nesting)µÉ ¼ö ÀÖÀ¸¸ç, Inheritance´Â ÃàÀûµÇ¾î ¾Æ·¡ ´Ü°è·Î ³»·Á°£´Ù. Áï, ÇÑ Class¿¡¼´Â ±× »óÀ§ Level¿¡ ÀÖ´Â Á¶»ó ClassÀÇ ¸ðµç ¼ºÁúÀ» °è½Â¹ÞÀ» ¼ö ÀÖ´Ù. ÀÌ Class Hierarchy´Â Á¤º¸¿Í Á¤º¸¸¦ ´Ù·ç±â À§ÇÑ ¹æ¹ýµéÀ» Àü½ÂÇÒ ¼ö ÀÖ´Ù´Â ÀåÁ¡À» °¡Áø´Ù. ![]() 3.2.14 ¿¹¿Ü(exception)ÀÇ Ã³¸® : Overriding
¾ÕÀÇ ¿¹¿¡¼ Vehicle Class¿¡ ºñÇà±â¸¦(Aircraft)¶ó´Â SubClass¸¦ ÷°¡½ÃŲ´Ù°í ÇÏÀÚ. VehicleÀ» ¿òÁ÷ÀÌ°Ô ÇÏ´Â Method°¡ 'go'¶ó°í ÇÒ¶§, go ½ÅÈ£¸¦ º¸³»¸é ÀϹÝÀûÀ¸·Î ½Ãµ¿À» °É°í Hand Break¸¦ Ǭ ÈÄ¿¡ ¿¢¼¿·¹ÀÌÅ͸¦ ¹â¾Æ ¾ÕÀ¸·Î ³ª¾Æ°£´Ù. ÇÏÁö¸¸ ºñÇà±â´Â ÀÚµ¿Â÷¿Í »ó´çÈ÷ ´Ù¸£´Ù. ½ºÀ§Ä¡¸¦ ´·¯ ½Ãµ¿À» °Ç ÈÄ, ¿©±âÀú±â °Ô±âÆÇÀ» ¸¸Áø ÈÄ¿¡ Çϴ÷Π³¯¾Æ¿À¸¥´Ù. ±×ÈÄ¿¡µµ °íµµÁ¶Àý, ¼ÓµµÁ¶Àý, ±â·ùµµ Çѹø »ìÆìº¸°í °Ç¹°À̳ª »ê°ú ºÎµñÄ¡Áö ¾Êµµ·Ï Á¶½ÉÇϰí...
½ÇÁ¦ ClassÀÇ °æ¿ì¿¡ ´ëÇØ¼ »ý°¢Çغ¸ÀÚ. MethodÀÇ À̸§À» ´Ù¸¥ °ÍÀ¸·Î ¹Ù²Ü °ÍÀΰ¡? ±×·¯¸é Àϰü¼ºÀÌ ¾ø¾îÁø´Ù. ±×·¸´Ù°í SuperClassÀÎ Vehicls¿¡¼ 'go'¶õ Method¸¦ ÇÑ´Ü°è ¹ØÀ¸·Î ²ø¾î³»·Á Á¤ÀÇÇÑ´Ù¸é, ¶È°°Àº ³»¿ëÀ» Auto, Truck, BusÀÇ ¼¼ Class¿¡ Á¤ÀÇÇØ¾ß ÇϹǷΠÁߺ¹ÀÌ µÇ¾î ºñÈ¿¿ïÀûÀÌ´Ù. À̶§´Â SuperClass(Vehicls)¿¡ ÀÖ´Â Method´Â ±×´ë·Î µÎ°í SubClass(Aircraft)¿¡ 'go'¶ó´Â Method¸¦ ÀçÁ¤ÀÇÇÏ´Â °ÍÀÌ´Ù. ±×·¯¸é Message¸¦ ¼ö½ÅÇÏ´Â Object°¡ ¾î¶²Áö¿¡ µû¶ó¼ ÀûÇÕÇÑ Method°¡ ¼±ÅÃµÇ¾î ½ÇÇàµÈ´Ù. ÀÌ·¸°Ô SuperClass¿¡ ÀÖ´Â MethodÀÇ À̸§À¸·Î »õ·Ó°Ô Method¸¦ ÀçÁ¤ÀÇ Çϴ°ÍÀ» OverrdingÀ̶ó ÇÑ´Ù. 3.2.15 Virtual Class(Abstract Class)
´ÜÁö ±¸Á¶ÀûÀÎ ¸ñÀûÀ¸·Î¸¸ »ç¿ëµÇ±â À§ÇÏ¿© ¼³°èµÈ Class¸¦ ¸»ÇÑ´Ù. ¾ÕÀ¸·Î »ç¿ëµÉ ±â´Éµé(Attribute, Method)À» ¸ð¾Æ³õ±â¸¸ ÇÏ°í ±¸Ã¼ÀûÀÎ ±¸ÇöÀº ³ªÁßÀ¸·Î ¹Ì·ç¾î, ´Ù¸¥ ClassµéÀÇ Base Class·Î¸¸ »ç¿ëµÈ´Ù. µû¶ó¼ Virtual ClassÀÇ Instance´Â Á¸ÀçÇÒ ¼ö°¡ ¾ø´Ù. Abstract Class¶ó°íµµ ÇÏÁö¸¸, Abstract Data Type°úÀÇ È¥µ¿À» ¹æÁöÇϱâ ÇÏ¿© ÀϹÝÀûÀ¸·Î Virtual Class¶ó°í ÇÑ´Ù. 3.2.16 Multiple Inheritance(´ÙÁß »ó¼Ó)
ÇÑ Class°¡ ¿©·¯°³ÀÇ SuperClass¸¦ °¡Áú ¼ö ÀÖµµ·Ï ÇÏ´Â °ÍÀ» ¸»ÇÑ´Ù. 'ö°È¸»çÀÇ ³ëµ¿Á¶ÇÕÀå'ÀÇ °æ¿ì¸¦ ¿¹·Î µé¾îº¸ÀÚ, ±×´Â À¯´ÉÇÑ ¿ëÁ¢°øÀÌ¸ç ¶ÇÇÑ È¸»çÀÇ ¾÷¹«¸¦ °üÀåÇÏ´Â °£ºÎÀ̱â ÇÏ´Ù. ´ÜÁö Single Inheritanc¸¸ÀÌ °¡´ÉÇÏ´Ù°í Çϸé ![]()
±×¸²¿¡¼Ã³·³ °£ºÎÀÇ ¿ªÈ°À» ÀÌÁßÀ¸·Î Á¤ÀÇÇØ¾ß ÇϹǷΠºñÈ¿À²ÀûÀÌ´Ù. À̶§ Multiple Inheritance¸¦ ÀÌ¿ëÇϸé È¿À²ÀûÀÌ´Ù. ÇÏÁö¸¸ À̶§¿¡ ÁÖÀÇÇØ¾ß ÇÒ »çÇ×ÀÌ ÀÖ´Ù. °°Àº À̸§À¸·Î Á¤ÀÇµÈ Method°¡ °¢°¢ÀÇ SuperClass(¿ëÁ¢°ø, Á¶ÇÕÀå)¿¡ Á¸ÀçÇϸé, À̶§¿¡´Â ¾î¶² SuperClassÀÇ Method¸¦ »ç¿ëÇØ¾ß ÇÒÁö °áÁ¤ÇÒ ¼ö°¡ ¾ø´Ù. Áï, Conflict°¡ ÀϾ°Ô µÇ´Â °ÍÀÌ´Ù.
Multiple Inheritance¸¦ ÀÌ¿ëÇϸé ÀÌ·¯ÇÑ ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª ÇԺη¯ ¸¶±¸ °®´ÙºÙÀÌÁö ¾Êµµ·Ï ÁÖÀǸ¦ ±â¿ï¿©¾ß ÇÑ´Ù. Áß¿äÇÏÁö ¾ÊÀº °÷¿¡ ¿À¿ëµÇ´Â °æ¿ì°¡ Á¾Á¾ ÀÖ´Ù. À§ÀÇ ¿¹¿¡¼ 'Á¶ÇÕÀå'ÀÇ °æ¿ì¸¦ »ý°¢ÇØ º¸ÀÚ. Multiple Inheritance¸¦ ¿Ã¹Ù¸£°Ô »ç¿ëÇÑ °ÍÀΰ¡? ÀÌÀü¿¡´Â ¿ëÁ¢°øÀ̾úÁö¸¸ Á¶ÇÕÀåÀÌ µÈ ÈÄ¿¡´Â ½ÇÁ¦·Î ¿ëÁ¢À» ÇÏÁö¾Ê°í ȸ»çÀÇ ¾÷¹«¸¸À» °ü¸®ÇÏ°Ô µÇ¾ú´Ù¸é ±×¶§ºÎÅÍ´Â »ç½Ç»ó ¿ëÁ¢°øÀ̶ó°í ÇÒ ¼ö°¡ ¾ø´Ù. ÀÌ·¯ÇÑ °æ¿ì¿¡´Â ¿ëÁ¢°øÀÇ °è½ÂÀ» ¾ø¾Ö¹ö·Á¾ß ÇÑ´Ù. °è½ÂµÇ´Â SuperClassÀÇ ¼ºÁúÀ» ¿ÂÀüÈ÷ Æ÷ÇÔÇϰí ÀÖ´ÂÁö »ìÆìº¸´Â °ÍÀÌ ¿Ã¹Ù¸£°Ô Multiple Inheritance¸¦ »ç¿ëÇϰí ÀÖ´ÂÁö ¿©ºÎÀÇ ÆÇ´Ü ±âÁØÀÌ µÈ´Ù. 3.2.17 Class HierarchyÀÇ ±¸¼º
Á¦´ë·Î µÈ Class Hierarchy¸¦ ±¸¼ºÇϱâ À§Çؼ´Â, ¿ì¼± ³ªÁß¿¡ ½±°Ô ÀçȰ¿ëµÉ¼ö ÀÖµµ·Ï ÀϹÝÀûÀÎ ¸ñÀûÀ¸·Î ¼³°èµÇ¾î¾ß ÇÑ´Ù. ¶ÇÇÑ ÀÌ Class Hierarchy´Â Çö½Ç¼¼°è¸¦ Àß ¹Ý¿µÇÒ ¼ö ÀÖ¾î¾ß Çϸç, Method´Â °¡´ÉÇÑÇÑ °¡Àå ³ôÀº ÃÖ»óÀÇ ´Ü°è¿¡¼ Á¤ÀǵǾî¾ß Áߺ¹À» ÁÙÀÏ ¼ö ÀÖ´Ù. ![]() 3.3 Object-Oriented ¹æ¹ýÀ» ÀÌ¿ëÇÑ SoftwareÀÇ ±¸Ãà3.3.1 Reusability(ÀçȰ¿ë¼º)
Object-Oriented ¹æ¹ýÀÇ °¡Àå Áß¿äÇÑ Âø¾È »çÇ×ÀÌ ¹Ù·Î ÀÌ ÀçȰ¿ë¼ºÀÏ °ÍÀÌ´Ù. Reusable ModuleÀÌ ¸¹ÀÌ ¸¶·ÃµÇ¾î ÀÖ´Ù¸é ±×°ÍµéÀ» ÀÌ¿ëÇÏ¿© Software¸¦ ±¸ÃàÇÏ¸é º¸´Ù ÀûÀº ³ë·Â¸¸ÀÌ ÇÊ¿äÇÒ °ÍÀÌ´Ù. ½ÇÁ¦·Î Reusable ModuleÀ» ¼³°èÇÏ´Â µ¥¿¡´Â ¼³°è, ºÐ¼®ÀÇ °úÁ¤À» °ÅÃÄ¾ß ÇϹǷΠ¼³°è»óÀÇ ÀÚ¼¼ÇÑ ³»¿ëÀº ÁÙÀÌ°í °³³äÀûÀÎ °Í¸¸ »ìÆìº¸ÀÚ.
Reusable ModuleÀ» ¼³°èÇÏ´Â °ÍÀº ´ë°ÔÀÇ °æ¿ì ÇÊ¿äÇÑ °ÍÀ» ±×¶§ ±×¶§ ¸¸µé¾î ¾²´Â °Íº¸´Ù ´õ ¸¹Àº °èȹ°ú ³ë·ÂÀ» ÇÊ¿ä·Î ÇÑ´Ù.
OOPÀÇ ÇÙ½ÉÀº Ãß»óÈ¿¡ Àִµ¥, ÀÌ Ãß»óÀ̶ó´Â °ÍÀº ´Ù·ç°íÀÚÇÏ´Â °´Ã¼µéÀÇ °øÅëµÈ ¼Ó¼ºÀ» »Ì¾Æ³»¾î¼ ÀϹÝÈµÈ °èÃþÀ» ¸¸µé¾î ³»´Â ÇàÀ§´Ù. ±×·¯¹Ç·Î ´Ù·ç¾î¾ß ÇÒ °´Ã¼µé°ú ÁÖº¯È¯°æ¿¡ ´ëÇÑ Æø³ÐÀº ÀÌÇØ°¡ ¿ì¼±ÀûÀ¸·Î ÇÊ¿äÇÏ´Ù. »ð»ì°³, Áøµ¾°³, Ä¡¾Æ¿Í µî¿¡ ´ëÇÑ °øÅëÀûÀΠƯ¡µéÀ» Á¦´ë·Î ¾Ë°í ÀÖ¾î¾ß ºñ·Î¼ °³¸¦ Á¦´ë·Î Á¤ÀÇÇÒ ¼ö ÀÖ´Â °Í°ú ¸¶Âù°¡Áö´Ù. ¸¹Àº ½Ã°£ÀÌ ÇÊ¿äÇÒ ¼ö ¹Û¿¡ ¾ø´Ù.
À̵é Reusable ModuleÀº Class ¸¦ Áß½ÉÀ¸·Î ¼³°èµÈ´Ù. Àü¿¡ ¾ð±ÞÇÑ ClassÀÇ ÀåÁ¡µé - Çö½Ç¼¼°è¸¦ Àß ¹Ý¿µÇÒ ¼ö ÀÖÀ¸¹Ç·Î Àΰ£ÀÇ »ý°¢À» Ç¥ÇöÇϴµ¥¿¡ ¼ö¿ùÇϰí, »ó¼Ó(Inheritance)À» ÀÌ¿ëÇÏ¿© È®ÀåÀÌ ½¬¿öÁö¸ç, PolymophismÀ» Àû¿ëÇÏ¿© Ưº°ÇÑ ¿¹¿Ü °æ¿ì¸¦ Àß Ã³¸®ÇÒ ¼ö ÀÖ´Â Á¡ µî - ÀÌ ModuleÀ» ¼³°èÇϴµ¥ ²À ¸Â°Ô Àû¿ëµÇ±â ¶§¹®ÀÌ´Ù. Reusable Class´Â ÇÊ¿äÇÑ °ÍµéÀ» Á÷Á¢ ¼³°èÇØ¼ ¾òÀ» ¼ö ÀÖÀ» »Ó¸¸ ¾Æ´Ï¶ó, Programming Language¿¡¼ Á¦°øµÇ±âµµ Çϰí, ¶§·Î´Â »óÁ¡¿¡¼ ±¸ÀÔÇÏ´Â °ÍÀÌ È¿À²ÀûÀÏ ¶§µµ ÀÖ´Ù. 3.3.2 Object¸¦ Á÷Á¢ »ç¿ëÇÑ SoftwareÀÇ ±¸Ãà
±âÁ¸¿¡ ¸¸µé¾îÁø Reusable Object¸¦ ¸ð¾Æ Software¸¦ ±¸ÃàÇÒ ¼ö ÀÖ´Ù ÇÏÁö¸¸ ÀÌ ¹æ¹ýÀº ÇÊ¿ä·Î ÇÏ´Â ObjectµéÀ» ¸ð¾Æ ½ÇÁ¦·Î ±¸µ¿½ÃŰ´Â »õ·Î¿î Object¸¦ ¸¸µé¾î¾ß Çϴµ¥ ºÒÆíÇÔÀÌ ÀÖ´Ù (Program = Class Libraries + Solution Classes). ¹°·Ð ±âÁ¸ÀÇ ¹æ¹ý¿¡ ºñÇϸé ÀÌ Á¤µµ·Îµµ ÈǸ¢ÇÏÁö¸¸, ´õ ³ªÀº ¹æ¹ýÀÌ ÀÖ´Ù. 3.3.3 Simulation
±× ¹æ¹ýÀº Class LibraryµéÀ» ¸ð¾Æ ModelingÀ» ÇÏ´Â °ÍÀÌ´Ù. Áï, ±âÁ¸ÀÇ ClassµéÀ» ÀÌ¿ëÇÏ´Â High-Level Object ±îÁöµµ ¹Ì·¡ÀÇ Çʿ信 ´ëºñÇÏ¿© ¼³°èÇÏ´Â °ÍÀÌ´Ù. ÀºÇàÀÇ Àü»êó¸® SystemÀ» ±¸ÃàÇÏ´Â °ÍÀ» ¿¹·Î µé¾îº¸ÀÚ. ¿©±â¿¡´Â ÀÔÃâ±Ý °è»ê, ½Å¿ëÄ«µå °áÀç, °¢Á¾ °ø°ú±Ý ÀÚµ¿³³ºÎ µî ¿©·¯°¡Áö ÀÛ¾÷µéÀÌ ÇÊ¿äÇÒ °ÍÀÌ´Ù. À̶§¿¡ Class LibraryµéÀ» ÀÌ¿ëÇÏ¿© ÀÔÃâ±Ý °è»ê System, ½Å¿ëÄ«µå °áÀç System, °ø°ú±Ý ÀÚµ¿³³ºÎ System µîÀ» ¹Ì¸® ¼³°èÇØ ³õÀ¸¸é, ³ªÁß¿¡´Â ´ÜÁö À̰͵éÀ» ³¢¿ö ¸ÂÃ߱⸸ ÇÏ¸é µÇ¹Ç·Î Class LibraryµéÀ» Á÷Á¢ ÀÌ¿ëÇÏ¿© ¸ðµç °ÍÀ» ´Ù½Ã ¼³°èÇÏ´Â °Íº¸´Ù ÈξÀ ¼ö¿ùÇÒ °ÍÀÌ´Ù. ½Å¿ëÄ«µå °áÀç ¹æ¹ýÀ» ¹Ù²Ù¾ú´Ù°í ÇÏÀÚ. ±×·¯¸é ´ÜÁö ½Å¿ëÄ«µå °áÀç System, ±× Áß¿¡¼µµ ƯÁ¤ÇÑ Classµé¸¸À» °íÄ¡¸éµÇ¹Ç·Î ¼öÁ¤µµ ¿ëÀÌÇÏ°Ô ÇÒ ¼ö ÀÖ´Ù. 3.3.4 Rapid Prototyping
PrototypeÀ̶õ ÇѸ¶µð·Î '½ÃÇèÆÇ(Trial Version)'À̶ó°í ÇÒ ¼ö ÀÖ´Ù. ½ÇÁ¦·Î ±â¾÷¿¡¼ÀÇ °£ºÎµéÀº '±×µéÀÌ Á¤¸»·Î ¿øÇÏ´Â °ÍÀÌ ¹«¾ùÀÎÁö'¸¦ Á¦´ë·Î ¾ËÁö ¸øÇϰí ÀÖ´Â °æ¿ì°¡ ´ëºÎºÐÀÌ´Ù. ±×µé¿¡°Ô´Â ÇÁ·Î±×·¥ÀÌ µ¿ÀÛÇÏ´ÂÁö ¾Æ´ÑÁö¸¸ Áß¿äÇÒ »ÓÀÌ´Ù. ÀÚ½ÅÀÌ ¸¸µé ÇÁ·Î±×·¥ÀÌ ¾î¶»°Ô µ¹¾Æ°¥Áö¸¦ ¹Ì¸® È®ÀÎÇÏ´Â Â÷¿ø¿¡¼ ÇÊ¿äÇϱ⵵ ÇÏÁö¸¸ ÀºÐµéÀÇ Á¤¼Àû¾ÈÁ¤À» À§Çؼ ¸¸µéÇʿ䰡 »ý±â±âµµ ÇÑ´Ù. 3.3.5 SystemÀÇ ±¸Ãà
Reusable ClassµéÀÇ Library¸¦ ±¸ÃàÇÑ´Ù. ÀÌ ClassµéÀ» ÀÌ¿ëÇÏ¿© Working ModelÀ» ±¸ÃàÇÑ´Ù. Rapid PrototypingÀ» ÀÌ¿ëÇÏ¿© SystemÀ» ±¸ÃàÇÑ´Ù. - Çʿ信 µû¶ó¼´Â ÀÌÀüÀÇ ´Ü°è·Î µÇµ¹¾Æ°¥ ¼ö ÀÖ´Ù(Feedback). 3.4 Object-Oriented ¹æ¹ýÀÇ ÀåÁ¡°ú ´ÜÁ¡![]() ±×¸²Ãâó:crisp
OOP¸é ¸ðµç°Ô ÇØ°áµÉ °Å¶ó°í »ý°¢ÇÏ´Â °³¹ßÀÚµéÀÌ ÀÖ´Ù. ÃÖ½ÅÀÌ ¾ðÁ¦³ª ÁÁÀº °Ç ¾Æ´Ï´Ù. ÀڱⰡ Àß ÇÒ ¼ö ÀÖ´Â ¹æ½ÄÀ¸·Î ÇÏ´Â°Ô ÃÖ°í´Ù. ÀÚ°í·Î ÇÁ·Î±×·¥À̶õ°Ç µ¹¾Æ°¡¾ß ÇÏ´ÂÇÏ°í ±âº»ÀûÀ¸·Î ÀÚ½ÅÀ» À§Çؼ ¸¸µå´Â °ÍÀ̱⠶§¹®ÀÌ´Ù. 3.4.1 ÀåÁ¡
¿ì¼± ¤°í ³Ñ¾î°¡¾ß ÇÒ Á¡Àº, ±âÁ¸ÀÇ »ç°í ¹æ½ÄÀ» °¡Áö°í ´Ü¼øÈ÷ Object-Oriented Language¸¦ »ç¿ëÇÏ¿© ProgrammingÀ» ÇÏ´Â °ÍÀº º°·Î µµ¿òÀÌ µÇÁö ¾Ê´Â´Ù´Â °ÍÀÌ´Ù. ÀÌÁ¦±îÁö °¡Áö°í ÀÖ´ø, Programming ÇÒ ¶§ÀÇ ±âÁ¸ÀÇ »ç°í¹æ½ÄÀ» °ú°¨È÷ Å»ÇÇÇÏ¿© »õ·Î¿î °³³äÀ» °¡Áö°í ÀÌ¿¡ ÀûÇÕÇÑ ºÐ¼®°ú ¼³°è°¡ µÚµû¶ó¾ß¸¸ Object-Oriented ¹æ¹ýÀÇ ÀåÁ¡À» ÃæºÐÈ÷ »ì¸± ¼ö ÀÖÀ» °ÍÀÌ´Ù.
3.4.2 ´ÜÁ¡
3.4.3 Àå´ÜÁ¡ÀÇ ÀûÀýÇÑ Á¶È
4 °ü·Ã±Û |
|
|
|
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù. |
|