OOP (object-oriented programming) ; °´Ã¼ÁöÇâ ÇÁ·Î±×·¡¹Ö
|
°´Ã¼ÁöÇâ ÇÁ·Î±×·¡¹Ö(ÀÌÇÏ ÁÙ¿©¼ 'OOP'¶ó ĪÇÔ)Àº ÄÄÇ»ÅÍ ÇÁ·Î±×·¥ÀÇ °³¹ßÀ» ¿ÏÀüÈ÷ »õ·Î¿î ½Ã°¢À¸·Î ¹Ù¶ó´Ùº¸´Â Çõ¸íÀû °³³äÀ̶ó ÇÒ ¼ö Àִµ¥, µ¿ÀÛº¸´Ù´Â °´Ã¼, ³í¸®º¸´Ù´Â ÀڷḦ ¹ÙÅÁÀ¸·Î ±¸¼ºµÈ´Ù. ÇÁ·Î±×·¥Àº ÀüÅëÀûÀ¸·Î ³í¸®ÀûÀÎ ¼öÇà Áï, ÀÔ·ÂÀ» ¹Þ¾Æ ó¸®ÇÑ ´ÙÀ½, °á°ú¸¦ ³»´Â °ÍÀ̶ó´Â »ý°¢ÀÌ Áö¹èÀûÀ̾ú´Ù. ¶ÇÇÑ ÇÁ·Î±×·¡¹ÖÀ» ÇÑ´Ù´Â °ÍÀº ¾î¶»°Ô ÀڷḦ Á¤ÀÇÇÒ±î º¸´Ù´Â ¾î¶»°Ô ³í¸®¸¦ ½á³ª°¡´Â °ÍÀΰ¡·Î °£ÁֵǾú´Ù. ±×·¯³ª OOP´Â ÇÁ·Î±×·¥¿¡¼ Á¤¸» Áß¿äÇÑ °ÍÀÌ ³í¸®º¸´Ù´Â ¿ÀÈ÷·Á ´Ù·ç°íÀÚ ÇÏ´Â °´Ã¼¶ó´Â ½Ã°¢¿¡¼ Á¢±ÙÇϰí ÀÖ´Ù. °´Ã¼ÀÇ ¿¹·Î´Â, »ç¶÷(À̸§, ÁÖ¼Ò µîÀ¸·Î ¹¦»çµÇ´Â)¿¡¼ºÎÅÍ °Ç¹°±îÁö, ±×¸®°í »óǰ ÆÇ¸Å¸¦ À§ÇÑ ¸ÅÀå(Ư¼ºÀÌ ¼¼úµÇ°í ´Ù·ïÁú ¼ö ÀÖ´Â)¿¡¼ºÎÅÍ ÄÄÇ»ÅÍ ¹ÙÅÁȸéÀÇ ¾ÆÁÖ ÀÛÀº ¿ä¼ÒÀÎ ¹öưÀ̳ª ½ºÅ©·Ñ¹Ù °°Àº °Íµé±îÁö¸¦ ¸ðµÎ ¸Á¶óÇÑ´Ù. OOP¿¡¼ÀÇ Ã¹ ´Ü°è´Â ´Ù·ç°íÀÚ ÇÏ´Â ¸ðµç °´Ã¼¿Í, ±×°ÍµéÀÌ ¼·Î ¾î¶² ¿¬°ü¼ºÀÌ ÀÖ´ÂÁö¸¦ ½Äº°ÇÏ´Â - ÈçÈ÷ µ¥ÀÌÅÍ ¸ðµ¨¸µÀ̶ó°í ºÎ¸£´Â - ÀÛ¾÷ÀÌ´Ù. ÀÏ´Ü ¸ðµç °´Ã¼¸¦ ½Äº°ÇßÀ¸¸é, °´Ã¼ Ŭ·¡½º·Î ÀϹÝÈÇϰí (ÇöóÅæÀÇ "ÀÌ»óÀû" ÀÇÀÚ °³³äÀÌ ¸ðµç ÀÇÀÚ¸¦ ´ëÇ¥ÇÑ´Ù°í »ý°¢ÇÏ´Â ½ÄÀ¸·Î), ±×°ÍÀÌ ´ã°í ÀÖ´Â µ¥ÀÌÅÍÀÇ Á¾·ù¿Í ±×°ÍÀ» ´Ù·ê ¼ö ÀÖ´Â ¸ðµç ³í¸® ¼ø¼¸¦ Á¤ÀÇÇÑ´Ù. ³í¸® ¼ø¼´Â ¸Þ½îµå¶ó°í ºÎ¸£¸ç, Ŭ·¡½ºÀÇ ½ÇÁ¦ ÀνºÅϽº¸¦ ÇϳªÀÇ "°´Ã¼"¶ó Çϰųª, ¾î¶² »óȲ¿¡¼´Â ÇϳªÀÇ "Ŭ·¡½º Ȱ¼ºÃ¼"¶ó ÇÑ´Ù. °´Ã¼ ¶Ç´Â Ȱ¼ºÃ¼´Â ÄÄÇ»ÅÍ ³»¿¡¼ ½ÇÁ¦·Î ¼öÇàµÇ´Â °ÍÀÌ´Ù. ¸Þ½îµå´Â ÄÄÇ»ÅÍ ¸í·É¾î¸¦ ±ÔÁ¤Çϰí, Ŭ·¡½º °´Ã¼ÀÇ Æ¯¼ºÀº °ü·Ã µ¥ÀÌÅ͸¦ ±ÔÁ¤ÇÑ´Ù. |
|
OOP¿¡ »ç¿ëµÈ °³³ä°ú ±ÔÄ¢Àº ´ÙÀ½°ú °°Àº Áß¿äÇÑ ÀÌÁ¡À» Á¦°øÇÑ´Ù.
Smalltalk´Â ÃÖÃÊÀÇ °´Ã¼ÁöÇâ ÇÁ·Î±×·¡¹Ö ¾ð¾î Áß ÇϳªÀ̸ç, C++¿Í Java´Â ÃÖ±Ù °¡Àå ÀαâÀÖ´Â °´Ã¼ÁöÇâ ÇÁ·Î±×·¡¹Ö ¾ð¾îÀÌ´Ù. C++ÀÇ ºÎºÐÁýÇÕÀ̶ó°í ÇÒ¼ö ÀÖ´Â Java´Â ƯÈ÷ ±â¾÷À̳ª ÀÎÅͳÝÀÇ ºÐ»ê ÀÀ¿ëÇÁ·Î±×·¥¿¡ »ç¿ëµÇµµ·Ï ¼³°èµÇ¾ú´Ù.
| ÀÌ Á¤º¸´Â 1999³â 5¿ù 28ÀÏ¿¡ ¼öÁ¤µÇ¾úÀ¸¸ç, ½ÉÀç¹ü´Ô²²¼ µµ¿òÀ» Áּ̽À´Ï´Ù. | |