µðÀÚÀÎ ÆÐÅÏ(2) - ¼ö¹Ú ¸ÀÀ» º¸ÀÚ!!
À̽ÂÀÏ
|
1. ¼ö¹ÚÀ» ÀÚ¸£±â Àü¿¡¡¦ Áö³ È£¿¡´Â ¼ö¹Ú(µðÀÚÀÎ ÆÐÅÏ) ¸ÀÀ» º¸¿©ÁÖÁö´Â ¾Ê°í, ±× ¸ÀÀÌ ÀÌ·¸´Ù Àú·¸´Ù ±×·¨´Ù. ÀÌ ¹ø È£¿¡´Â ±× ¸ÀÀÌ ¾î¶²Áö º¸¿©ÁÖ·Á°í ¸ÀÀÖ´Â ³ðÀ» °í¸£±â À§ÇØ ½ÃÀåÀ» ¿©±â Àú±â µ¹¾Æ´Ù³æ´Ù(¾ÆÀÌ°í ´Ù¸®¾ß~~). ÀÌ ¸À¿¡ ¸¹Àº »ç¶÷µéÀÌ °¨µ¿ÇØ¾ß Çϴµ¥.. ÀÌ ¹øÈ£ÀÇ À̾߱⸦ ½ÃÀÛÇϱâ Àü¿¡ µÎ °¡Áö ¸íÈ®ÇÏ°Ô ÇÏ°í ³Ñ¾î°¡¾ß ÇÒ °ÍÀÌ ÀÖ´Ù.
À§¿¡¼ À̾߱âÇÑ °Íó·³ ÀÚ¹Ù ¾ð¾î¿Í UMLÀ» »ç¿ëÇϱâ À§Çؼ ÀÚ¹Ù ¾ð¾î »ç¿ë¿¡ ´ëÇÑ ÄÚµù ±ÔÄ¢(coding rule)°ú °£´ÜÈ÷ UMLÀ» Á¤¸®ÇÏ¿© ¡°ÄÚµù ±ÔÄ¢°ú UML ´ÙÀ̾î±×·¥¡±À̶ó´Â Á¦¸ñÀ¸·Î ´Ù¸¥ ¹®¼¸¦ ¸¸µé°í ÀÖ´Ù. »ç½Ç ÀÌ ¹øÈ£¿¡ ÷ºÎ ½Ãų °èȹÀ» °¡Áö°í ÀÖ¾ú´Âµ¥, ¿©·¯ °¡Áö »çÁ¤À¸·Î ±×·¯ÇÏÁö ¸øÇß´Ù. ¹®¼°¡ ¿Ï¼ºµÇ´Â ´ë·Î µðÀÚÀÎ ÆÐÅÏ ¼½¼Ç¿¡ ÷ºÎÇÏ¿© ³õ°Ú´Ù. ÀÚ²Ù ¼ö¹Ú, ¼ö¹ÚÇÏ´Ï ³»°¡ ¼ö¹Ú¿¡ °ü·ÃµÈ À̾߱⸦ ÇÏ°í ÀÖ´Â °Í °°Àº Âø°¢ÀÌ µç´Ù. ÀÌÁ¦ ¼ö¹Ú¿¡ ´ëÇÑ À̾߱â´Â ±×¸¸ ÇÏ°í º»°ÝÀûÀÎ ÆÐÅÏ À̾߱⸦ ÇØ º¸°Ú´Ù. ȤÀÚ´Â 99³â 3¿ù ´ÞÀ» ±âÁØÀ¸·Î ¡°ÇöÀç 30¿© °³ Á¤µµÀÇ ÆÐÅÏÀÌ ¹ßÇ¥µÇ¾î ÀÖ´Ù¡±¶ó°í ÇÏ¿´´Âµ¥,ÀÌ °ÍÀº Àß ¸ð¸£°í ÇÑ À̾߱â´Ù[¸¶ÀÌÅ©·Î¼ÒÇÁÆ®¿þ¾î 1999³â 3¿ùÈ£, µðÀÚÀÎ ÆÐÅÏ Æ¯Áý±â»ç, p. 254]. 1998³â ¹Ì±¹ÀÇ PLoP98 ÄÁÆÛ·±½º(conference)¿¡ ¹ßÇ¥µÈ ÆÐÅϸ¸ ÇÏ´õ¶ó°í 30¿© °³°¡ ³Ñ´Â´Ù. ¾Æ¸¶µµ GoF Ã¥[1]¿¡ ³ª¿Í ÀÖ´Â ÆÐÅÏ°ú ½ÃÁß¿¡ ³ª¿Í Àִ å¿¡ ±â¼úµÇ¾î ÀÖ´Â °ÍÀÌ ÀüºÎÀÎ °ÍÀ¸·Î »ý°¢ÇÑ ¸ð¾çÀÌ´Ù. ¾î·µç, Áö±Ý±îÁö °ø½ÄÀûÀ¸·Î ¹ßÇ¥µÈ ÆÐÅÏÀÇ ¼ö´Â Áö³ È£¿¡¼µµ À̾߱â ÇßµíÀÌ ¼ö ¹é °¡Áö°¡ µÈ´Ù. ÀÌ Áß¿¡¼ ÆÐÅÏÀÇ Àǹ̸¦ ¾Ë¸®±â¿¡ ÁÁÀº °ÍÀ» ã´Â ´Ù´Â °ÍÀº ½¬¿î ÀÏÀÌ ¾Æ´Ï´Ù. °³ÀÎÀûÀ¸·Î ¡°°´Ã¼ÁöÇâ ÇÁ·Î±×·¡¹Ö ¾ð¾î¸¦ »ç¿ëÇÏ¿© ½Ã½ºÅÛÀ» °³¹ßÇÏ°í ÀÖ´Â ÀϹÝÀûÀÎ °³¹ßÀÚ°¡ ÀÏ»óÀûÀ¸·Î º¼ ¼ö ÀÖ´Â ¶Ç´Â ÇÊ¿ä·Î ÇÏ´Â °Íµé Áß¿¡¼ µðÀÚÀÎ ÆÐÅÏÀ¸·Î Á¤¸®µÇ¾î ÀÖ´Â °Í¡±À» ÆÐÅÏ ¼±ÅÃÀÇ ±âÁØÀ¸·Î »ï°í ÀÖ´Ù. ÀÌ¿Í °°Àº ±âÁØÀ» »õ¿î ¹è°æ¿¡´Â µðÀÚÀÎ ÆÐÅÏÀÇ Ã¹ È£¿¡¼ ¾ð±ÞÇßµíÀÌ µðÀÚÀÎ ÆÐÅÏÀº »õ·Î¿î °ÍÀ» ÀǹÌÇÏ´Â °ÍÀÌ ¾Æ´Ï°í, ¡°ÇÁ·Î±×·¡¸ÓÀÇ °æÇ衱À» ÀǹÌÇÏ´Â °ÍÀ̱⠶§¹®ÀÌ´Ù. µû¶ó¼, ¼±ÅõǴ ÆÐÅÏÀº ÀϹÝÀûÀ¸·Î °´Ã¼ÁöÇâ ¾ð¾î¸¦ »ç¿ëÇÏ´Â ÇÁ·Î±×·¡¸Ó°¡ ½±°Ô Á¢ÇÒ ¼ö ÀÖ´Â ³»¿ëÀ̾î¾ß ÇÏ°í ±× Áß¿¡¼µµ ½ÇÁúÀûÀ¸·Î µµ¿òÀÌ ¸¹ÀÌ µÉ ¼ö ÀÖ¾î¾ß ÇÑ´Ù°í »ý°¢Çß´Ù. ÀÌ ¹øÈ£¿¡¼´Â À§¿¡¼ ¾ð±ÞÇÑ ±âÁØ¿¡ ÀûÇÕÇÑ °Í Áß¿¡¼ ±× ù¹ø°·Î Factory ÆÐÅÏÀ» °ñ¶ó º¸¾Ò´Ù.
2. Àß ÀÍÀº ¼ö¹Ú Çϳª ? - Factory ÆÐÅÏ ÀÌ ¹øÈ£¿¡ ¼Ò°³ÇÏ·Á°í ÇÏ´Â Factory ÆÐÅÏÀº °ø½ÄÀûÀ¸·Î ¡°Factory Method¡±·Î Ç¥±âµÇ¾î ÀÖÀ¸¸ç, °´Ã¼ »ý¼º¿¡ °üÇÑ ³»¿ëÀ» ´ã°í ÀÖ´Ù[1]. °´Ã¼ »ý¼ºÀº ÀϹÝÀûÀÎ ÇÁ·Î±×·¡¸ÓµéÀÌ °´Ã¼ÁöÇâ ¾ð¾î¸¦ ÀÌ¿ëÇÏ¿© ÇÁ·Î±×·¡¹ÖÀ» ÇÒ ¶§ ´Ã»ó ÇÏ°í ÀÖ´Â ÀÏÀ̱⠶§¹®¿¡ °£°úµÇ¾îÁú ¼öµµ ÀÖÁö¸¸, °´Ã¼ÁöÇâÀûÀ¸·Î µðÀÚÀÎµÈ ½Ã½ºÅÛÀº °á±¹ °´Ã¼ÀÇ »ý¼º°ú ¼Ò¸ê ±×¸®°í »ý¼ºµÈ °´Ã¼µé °£ÀÇ ¸Þ½ÃÁö Àü´ÞÀ» ÀǹÌÇϹǷΠ°´Ã¼ÀÇ »ý¼ºÀÌ ±× ±Ùº»ÀÌ µÈ´Ù°í º¼ ¼ö ÀÖ´Ù. ÀÌ·± Àǹ̿¡¼ °´Ã¼¸¦ ¾î¶»°Ô Çϸé È¿À²ÀûÀ¸·Î »ý¼ºÇÒ ¼ö ÀÖ´ÂÁö¿¡ ´ëÇÑ °ÍÀ» ÇѹøÂëÀº ±íÀÌ »ý°¢ÇØ º¼ ÇÊ¿ä°¡ ÀÖ´Â °ÍÀÌ´Ù. Factory ÆÐÅÏÀº ¿À·£ ±â°£µ¿¾È °´Ã¼ÁöÇ⠽ýºÅÛ µðÀÚÀ̳ʵéÀÌ °´Ã¼ »ý¼º¿¡ ´ëÇÑ °í¹ÎÀ» ÇÑ ³¡¿¡ ÀϹÝÀûÀÎ ½Ã½ºÅÛ¿¡¼ °´Ã¼ »ý¼º½Ã¿¡ ÀÚÁÖ µîÀåÇÏ´Â µðÀÚÀÎÀ» ÆÐÅÏÈ ½ÃÅ°°í À̸§Àº ºÙ¿© ³õÀº °ÍÀ¸·Î ÀÌÇØÇÏ¸é µÉ °ÍÀÌ´Ù. µû¶ó¼, ¼÷·ÃµÈ ½Ã½ºÅÛ µðÀÚÀ̳ʿ¡°Ô´Â Factory ÆÐÅÏÀÌ ³Ê¹«³ª Àͼ÷ÇÑ ³»¿ëÀÏ °ÍÀÌ°í, °æÇèÀÌ ÀûÀº °³¹ßÀÚ¿¡°Ô´Â °´Ã¼ »ý¼º¿¡ ´ëÇÑ ÁÁÀº ¹æ¹ý Çϳª¸¦ ÀÍÈ÷´Â ±âȸ°¡ µÉ °ÍÀ¸·Î »ý°¢ÇÑ´Ù. 2.1 °´Ã¼»ý¼ºÀÇ µÎ °¡Áö ¹æ¹ý ¿©·¯ºÐµéÀÌ °´Ã¼ÁöÇâ ÇÁ·Î±×·¡¹Ö ¾ð¾î¸¦ °¡Áö°í ÇÊ¿äÇÑ °´Ã¼¸¦ »ý¼ºÇÏ´Â °úÁ¤À» »ý°¢ÇØ º¸¶ó. Áö±Ý±îÁö ÀÚ½ÅÀÌ °´Ã¼¸¦ »ý¼ºÇϴµ¥ »ç¿ëÇÑ °úÁ¤ÀÌ Å©°Ô µÎ °¡Áö¶ó´Â °ÍÀ» ¹ß°ßÇÏ°Ô µÉ °ÍÀÌ´Ù. ¸ÕÀú °´Ã¼ »ý¼ºÀÇ ÁÖü°¡ µÇ´Â °´Ã¼¿¡¼ ´Ù¸¥ °´Ã¼¸¦ Á÷Á¢ »ý¼ºÇÏ´Â °ÍÀÌ Çϳª¿ä, ´Ù¸¥ Çϳª´Â °´Ã¼ »ý¼ºÀÇ ÁÖü°¡ µÇ´Â °´Ã¼°¡ »ý¼ºÇÏ·Á´Â °´Ã¼¸¦ Á÷Á¢ »ý¼ºÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó ´Ù¸¥ °´Ã¼¿¡ ÇØ´ç °´Ã¼ »ý¼ºÀ» ÀÇ·ÚÇÏ´Â °ÍÀÌ´Ù. µÎ °¡Áö °´Ã¼ »ý¼º °úÁ¤À» ÀÌÇØÇϱâ À§Çؼ ¡°¹ø¿ª±â¡± ½Ã½ºÅÛÀ» µðÀÚÀÎ ÇÏ¿© º¸ÀÚ. ¹ø¿ª±â ½Ã½ºÅÛÀ̶õ »ç¿ëÀÚ°¡ ¿µ¾î¿Í ÀÏ¾î µÎ °¡Áö ¾ð¾î Áß¿¡¼ Çϳª¸¦ ¼±ÅÃÇÏ°í ¿ì¸®³ª¶ó ¹®ÀåÀ» ³ÖÀ¸¸é ±× ¹®Àå¿¡ ´ëÇÑ ÇØ´ç ¾ð¾î·Î ¹ø¿ªÇØ ÁÖ´Â ½Ã½ºÅÛÀÌ´Ù. ÀÌ ½Ã½ºÅÛÀ» À§¿¡¼ ±¸ºÐÁöÀº °´Ã¼ »ý¼º¿¡ ´ëÇÑ µÎ °¡Áö °úÁ¤À¸·Î ³ª´©¾î¼ µðÀÚÀÎÇÏ¿© º¸°í, ÀÌ µÎ °¡Áö µðÀÚÀÎÀÌ °¢°¢ ¾î¶² Â÷À̸¦ º¸ÀÌ´ÂÁö »ìÆ캸°Ú´Ù. ¿©±â¼ ¿¹·Î µç ¹ø¿ª±â ½Ã½ºÅÛ¿¡ ´ëÇÑ ¾ÆÀ̵ð¾î´Â [3] ¹®¼¿¡¼ ¾ò¾ú´Ù. 2.2 Á÷Á¢ °´Ã¼¸¦ »ý¼ºÇÏ´Â °æ¿ì ¹ø¿ª±â¸¦ ¸¸µé±â À§Çؼ ±×¸² 2¿Í °°Àº ±¸Á¶·Î ¿µ¾î ¹ø¿ª±â¿Í ÀϺ»¾î ¹ø¿ª±â¸¦ µðÀÚÀÎ ÇÏ¿´´Ù°í ÇÏÀÚ. ±×¸² 2¿Í °°Àº µðÀÚÀÎÀÇ ÀåÁ¡Àº ÀÎÅÍÆäÀ̽º(¾Æ·¡ ÷ºÎ ±ÛÀ» º¸±â ¹Ù¶õ´Ù)¸¦ ÀÌ¿ëÇÏ¿© °¢ ¹ø¿ª±â¸¦ »ç¿ëÇϴ Ŭ¶óÀ̾ðÆ®¿Í °¢ ¹ø¿ª±â¿ÍÀÇ ÀÇÁ¸¼ºÀ» ÀϺκРÁ¦°ÅÇß´Ù´Â °ÍÀÌ´Ù.
±×¸² 2. Translator ÀÎÅÍÆäÀ̽º¸¦ ÀÌ¿ëÇÑ ¹ø¿ª °´Ã¼ÀÇ ÀÌ¿ë ±×¸² 2ÀÇ µðÀÚÀÎÀ» Åä´ë·Î ¹ø¿ª±â ½Ã½ºÅÛÀÇ Å¬¶óÀ̾ðÆ® ºÎºÐÀÇ ±¸ÇöÀ» ÇÑ´Ù¸é ¼Ò½º 1°ú °°Àº Äڵ尡 µÉ °ÍÀÌ´Ù.
¼Ò½º 1. ±×¸² 1ÀÇ ±¸Çö ¼Ò½º ¹ø¿ª±â¸¦ À§ÇÑ ±×¸² 2¿Í °°Àº µðÀÚÀÎÀº ±×·±´ë·Î ¾µ¸¸ÇÏ´Ù. ±× ÀÌÀ¯´Â ÀÌ¹Ì À̾߱â ÇßµíÀÌ ÀÎÅÍÆäÀ̽º¸¦ Ŭ¶óÀ̾ðÆ®¿Í °¢°¢ÀÇ ¹ø¿ª±â »çÀÌ¿¡ µÎ¾î¼ ¼Ò½º 1 Áß¿¡¼ translatedSentence = tr_.translate(inputSentence); ó·³ »ç¿ëµÇ´Â ¹ø¿ª±â¿¡ »ó°ü¾øÀÌ °°Àº ¸Þ¼Òµå¸¦ È£ÃâÇÑ´Ù´Â °ÍÀÌ´Ù. µû¶ó¼, ÀÌ °æ¿ì ÇØ´ç ¹ø¿ª±âÀÇ ¼Ò½º°¡ ¼öÁ¤µÇ´õ¶óµµ Ŭ¶óÀ̾ðÆ®ÀÇ ¸Þ¼Òµå È£ÃâºÎºÐ¿¡ ´ëÇÑ ¼Ò½º´Â °íÄ¥ °÷ÀÌ ¾ø´Ù. ±×·¯³ª, ÀÌ µðÀÚÀο¡´Â ÇÑ °¡Áö ¾Æ½¬¿î ºÎºÐÀÌ ³²¾Æ ÀÖ´Ù. ¹Ù·Î ÇØ´ç ¹ø¿ª±â¸¦ »ý¼ºÇÏ´Â ºÎºÐÀÌ´Ù. ±×¸² 2¿Í °°Àº µðÀÚÀÎÀ¸·Î´Â ÇÊ¿äÇÑ ¹ø¿ª±âÀÇ °´Ã¼¸¦ »ý¼ºÇϱâ À§Çؼ ±× ÇØ´ç ¹ø¿ª±âÀÇ Å¸ÀÔÀ» ¾Ë¾Æ¾ß ÇÏ´Â ¹®Á¦Á¡ÀÌ ³²¾Æ ÀÖ´Ù. Áï, ¼Ò½º 1¿¡¼ if(language == ENGLISH) { tr_ = new EnglishTranslator(); } else if (language == JAPANESE) { tr_ = new JapaneseTranslator(); } ó·³ ÇÊ¿äÇÑ ¹ø¿ª±âÀÇ °´Ã¼¸¦ »ý¼º½ÃÅ°·Á¸é ±½°Ô Ç¥½ÃµÈ ºÎºÐó·³ ±¸Ã¼ÀûÀÎ ¹ø¿ª±âÀÇ Å¸ÀÔÀ» ¾Ë¾Æ¾ß ÇÑ´Ù. ÀÌ ºÎºÐÀÌ ¹ß»ý½ÃÅ°´Â ¹®Á¦Á¡Àº °´Ã¼ »ý¼º¿¡ ÀÖ¾î¼, Ŭ¶óÀ̾ðÆ®¿Í ¹ø¿ª±â »çÀÌÀÇ ÀÇÁ¸¼ºÀ» Á¦°ÅÇÏÁö ¸øÇߴٴµ¥ ÀÖ´Ù. ´Ù½Ã ¸»Çؼ, Áö±ÝÀº ¿µ¾î ¹ø¿ªÀ» À§Çؼ »ç¿ëÇÏ´Â °´Ã¼°¡ EnglishTranslatorÀÌÁö¸¸, ³ªÁß¿¡ ½Ã½ºÅÛÀ» ¾÷±×·¹À̵å ÇÒ °æ¿ì ´Ù¸¥ ŸÀÔÀÇ ¹ø¿ª±â¸¦ »ç¿ëÇÏ°Ô µÇ¸é ÀÌ ºÎºÐÀ» ¹Ù²Ù¾î ÁÖ¾î¾ß ÇÏ´Â °ÍÀÌ´Ù. Á÷Á¢ ÇØ´ç °´Ã¼¸¦ »ý¼ºÇÒ ¶§ ¹ß»ýÇÏ´Â ÀÌ·¯ÇÑ ÀÇÁ¸¼º ¹®Á¦¸¦ ÇØ°áÇϱâ À§Çؼ °´Ã¼ »ý¼ºÀ» ´Ù¸¥ °´Ã¼¿¡ ÀÇ·ÚÇÏ´Â µðÀÚÀÎÀ» »ý°¢ÇÏ°Ô µÈ °ÍÀÌ´Ù. ÀÌÁ¦ ±× À̾߱⸦ ÇÒ Â÷·Ê´Ù. 2.3 ´Ù¸¥ °´Ã¼¿¡ ÇÊ¿äÇÑ °´Ã¼ÀÇ »ý¼ºÀ» ÀÇ·ÚÇÏ´Â °æ¿ì À§¿¡¼ ÁöÀûÇÑ´ë·Î ÇÊ¿äÇÑ °´Ã¼¸¦ »ý¼ºÇÏ´Â °÷¿¡¼ ¹ß»ýÇÏ´Â °´Ã¼ »çÀÌÀÇ ÀÇÁ¸¼ºÀ» ¾ø¾Ö±â À§Çؼ »ý¼º¿¡ ´ëÇÑ ºÎºÐÀ» µû·Î ¶¼³»¾î
»ý¼º¸¸ Àü´ãÇÏ´Â °´Ã¼¸¦ Çϳª ´õ ¸¸µå´Â ¹æ¹ýÀ» »ç¿ëÇÑ´Ù. ±×¸² 3Àº °´Ã¼ »ý¼º¿¡ µû¸¥ ÀÇÁ¸¼º ¹®Á¦¸¦ ÇØ°áÇÑ µðÀÚÀÎÀÌ´Ù.
±×¸² 3. °´Ã¼ »ý¼ºÀ» ´Ù¸¥ °´Ã¼¿¡ ÀÇ·ÚÇÏ´Â °æ¿ìÀÇ µðÀÚÀÎ - Factory Method ±×¸² 2ÀÇ µðÀÚÀΰú ±×¸² 3ÀÇ µðÀÚÀÎÀ» ºñ±³ÇØ º¸¸é, ´Þ¶óÁø ºÎºÐÀÌ Çϳª ÀÖ´Ù. °´Ã¼ »ý¼ºÀ» Àü´ãÇÏ´Â
TranslatorFactoryImpl °´Ã¼¸¦ Çϳª ¸¸µé¾î Ŭ¶óÀ̾ðÆ®°¡ Translator¸¦ ÅëÇؼ ÇÏ´ø ¹ø¿ª±â °´Ã¼ »ý¼º ÀÏÀ»
¸Ã°å´Ù´Â °ÍÀÌ´Ù. °³¼±µÈ ¹ø¿ª±â ½Ã½ºÅÛÀÇ µðÀÚÀο¡ ´ëÇÑ Å¬¶óÀ̾ðÆ® ºÎºÐÀÇ ¼Ò½º ÄÚµå´Â ¼Ò½º 2¿Í °°ÀÌ ¼öÁ¤ÀÌ °¡ÇØÁú °ÍÀÌ´Ù.
¼Ò½º 2. °³¼±µÈ ¹ø¿ª±â ½Ã½ºÅÛÀÇ Å¬¶óÀ̾ðÆ® ¼Ò½º ¼Ò½º 2¸¦ º¸¸é¼ Ŭ¶óÀ̾ðÆ® ±¸ÇöºÎ°¡ ´õ º¹ÀâÇØ Á³´Ù°í Åõ´úµÇ´Â µ¶ÀÚµµ ÀÖÀ» °ÍÀÌ´Ù. ±×·¯³ª, Àß ¶â¾î º¸¸é ÀÌÁ¦´Â °´Ã¼ »ý¼º ºÎºÐ¿¡ ³²¾Æ ÀÖ´ø ÀÇÁ¸¼º ºÎºÐ±îÁöµµ Á¦°Å ÇßÀ½À» º¼ ¼ö ÀÖ´Ù. °´Ã¼ »ý¼º ºÎºÐ¿¡ ³²¾Æ ÀÖ´ø ÀÇÁ¸¼º ºÎºÐÀÌ Á¦°ÅµÈ ºÎºÐÀº ¼Ò½º 2¿¡¼ ´ÙÀ½ ºÎºÐÀÌ´Ù. if(language == ENGLISH) { tr_ = tf_.getEnglishTranslator(); } else if (language == JAPANESE) { tr_ = tf_.getJapaneseTranslator(); } À§¿¡¼ ±½Àº ±Û¾¾·Î µÇ¾î ÀÖ´Â ºÎºÐÀÌ ¿¹Àü¿¡´Â ÇØ´ç ¹ø¿ª±â °´Ã¼ÀÇ Å¸ÀÔÀÌ ¸í½ÃµÇ¾îÀÖ´ø ºÎºÐÀÌ´Ù. ÀÌ ºÎºÐÀÌ ÀÌÁ¦´Â »ý¼º Ã¥ÀÓÀ» ¸Ã°í ÀÖ´Â °´Ã¼ÀÇ ÀÎÅÍÆäÀ̽º·Î ¹Ù²ñÀ¸·Î Çؼ ¹ø¿ª±â°¡ ¹Ù²î´Â °Í¿¡ ´ëÇÑ ÀÇÁ¸¼ºÀ» ¿ÏÀüÈ÷ Á¦°ÅµÇ¾ú´Ù. Áï, ¹ø¿ª±â ½Ã½ºÅÛÀº ±âº»ÀûÀ¸·Î ¹ø¿ªÀ» ÇÏ´Â ½Ã½ºÅÛÀÌ°í µû¶ó¼ TranslatorFactory, Translator ÀÎÅÍÆäÀ̽º¸¦ ÅëÇؼ Á¤ÀÇµÈ ±â´É¿¡ ´ëÇÑ ¼öÁ¤ÀÌ °¡ÇØÁö´Â ÀÏÀº °ÅÀÇ ¾øÀ» °ÍÀÌ´Ù. ¾÷±×·¹À̵带 À§Çؼ ¼öÁ¤ÀÌ °¡ÇØÁö´Â ÀÏÀÌ ¹ß»ýÇÑ´Ù¸é, ±×°ÍÀº ¹ø¿ª Á¤µµÀÇ Çâ»óÀ» À§ÇÑ ¾Ë°í¸®ÁòÀÇ º¯È³ª ¹ø¿ª±â ±³Ã¼¿¡ ´ëÇÑ °ÍÀ̹ǷΠ±×¸² 3°ú °°Àº µðÀÚÀÎÀ¸·Î ¹ø¿ª±â ŸÀÔ°ú ÇØ´ç ¹ø¿ª±âÀÇ ¸Þ¼Òµå »ç¿ë¿¡ ´ëÇÑ ÀÇÁ¸¼ºÀ» ¸ðµÎ ¾ø¾Ø´Ù¸é À¯Áö, º¸¼ö°¡ ¸Å¿ì ³ôÀº ½Ã½ºÅÛÀÌ µÉ °ÍÀÌ´Ù. ¾Õ¿¡¼µµ À̾߱âÇßÁö¸¸ ±×¸² 3°ú °°Àº ½Ã½ºÅÛ µðÀÚÀÎÀº °´Ã¼ÀÇ »ý¼º ¹®Á¦¸¦ È¿°úÀûÀ¸·Î ÇØ°áÇÒ ¼ö ÀÖ´Â ±¸Á¶¿©¼ °æÇèÀÌ ¸¹Àº °³¹ßÀÚµéÀº ¾Ë°Ô ¸ð¸£°Ô ÀÌ·¯ÇÑ µðÀÚÀÎÀ» ÀÚ½ÅÀÌ °³¹ßÇÏ°í ÀÖ´Â ½Ã½ºÅÛ¿¡ »ç¿ëÇÏ¿© ¿Ô´Ù. ÀÌ·± °æÇè¿¡ À̸§À» ºÙ¿©¼ Á¤¸®ÇØ ³õÀº °ÍÀÎ Factory Method´Ù. GoF Ã¥¿¡ ±â¼úµÇ¾î ÀÖ´Â ÀÌ ÆÐÅÏÀÇ Àǵµ´Â ´ÙÀ½°ú °°À¸¸ç, ÀÌ ÆÐÅÏ ±¸Á¶¸¦ ÀϹÝÈ ½ÃÄѼ ±×¸² 4¿Í °°ÀÌ Á¤¸®ÇÏ¿´´Ù(ÇÊÀÚ°¡ UML ¹öÀüÀ¸·Î ¹Ù²Ù¾ú´Ù). Àǵµ(Intent)
°´Ã¼ »ý¼º¿¡ ´ëÇÑ ÀÎÅÍÆäÀ̽º¸¦ Á¤ÀÇÇÑ´Ù. ±×·¯³ª, »ý¼ºÇÒ °´Ã¼¿¡ ´ëÇÑ Å¬·¡½ºÀÇ ¼±ÅÃÀº ÀÌ ÀÎÅÍÆäÀ̽º¸¦ ±¸Çö(Implementation)ÇÑ Å¬·¡½º°¡ °áÁ¤Çϵµ·Ï ÇÑ´Ù. Factory Method´Â °´Ã¼ »ý¼º¿¡ ´ëÇÑ Ã¥ÀÓÀ» ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÑ Å¬·¡½º¿¡ Àü°¡ÇÑ °ÍÀÌ´Ù.[1] ¡¡ ¡¡±×¸² 4. Factory Method
ÆÐÅÏÀ¸·Î Á¤¸®µÇ¾î ÀÖ´Â °ÍµéÀ» º¸¸é, ¼·Î ¹ÐÁ¢ÇÏ°Ô ¿¬°üµÇ¾î ÀÖ´Â °Íµéµµ ÀÖ°í ±×·¸Áö ¾ÊÀº °Íµéµµ ÀÖ´Ù. ½Ã½ºÅÛ µðÀÚÀÎ ½Ã¿¡ ÀÚÁÖ ¹ß»ýÇÏ´Â °ÍµéÀ» ÆÐÅÏÀ¸·Î Á¤¸®ÇÏ´Â ¾çÅ´ ũ°Ô ¼¼ °¡Áö·Î ³ªÅ¸³ª´Â °ÍÀ» È®ÀÎ ÇÒ ¼ö ÀÖ´Ù. Áö±Ý±îÁö ¹ß°ßÇÏÁö ¸øÇß´ø »õ·Î¿î ³»¿ëÀ» ÆÐÅÏÀ¸·Î Á¤¸®ÇÏ´Â °æ¿ì°¡ ±× Çϳª°í, ±âÁ¸ÀÇ °ÍÀ» ¼öÁ¤Çϰųª Æ÷ÇÔÇÏ¿© ÇϳªÀÇ ÆÐÅÏÀ¸·Î Á¤¸®ÇÏ´Â °æ¿ì°¡ µÎ ¹ø°´Ù. ¸¶Áö¸·À¸·Î´Â ±âÁ¸¿¡ ÆÐÅÏÀ¸·Î Á¤¸®µÇ¾î ÀÖ´ø °ÍÀ» À̸§À» ´Þ¸®ÇÏ¿© »ç¿ëÇÏ´Â °æ¿ì°¡ ÀÖ´Ù[4]. ¿©±â¼ ¼Ò°³ÇÑ Factory Methodµµ ÀÌ¿Í ¸¶Âù°¡Áö·Î ´Ù¸¥ ÆÐÅϵé°ú ¿¬°üµÇ¾î ÀÖ´Ù. ÀÌ ÆÐÅÏ°ú °ü·ÃµÇ¾î ÀÖ´Â °ÍÀ¸·Î´Â Abstract Factory, Template Methods, Prototype µî°ú ¿¬°ú µÇ¾îÀÖ´Ù[1]. ¿©±â¼ Abstract Factory ÆÐÅÏÀº Factory ÆÐÅÏ°ú ¾ÆÁÖ ¹ÐÁ¢ÇÏ°Ô ¿¬°üµÇ¾î ÀÖ´Ù. À̾߱⸦ Àü°³ÇØ ³ª°¡¸é¼ Abstract Factory ÆÐÅϵµ °Çµå·Á º¼±î »ý°¢À» Çß¾ú´Âµ¥, ±¸Áö ±×·² ÇÊ¿ä°¡ ¾ø´Ù°í »ý°¢À» Çß´Ù. µ¶ÀÚµéÀÌ ÇÑ ¹ø Abstract Factory ÆÐÅÏÀÇ ³»¿ëÀ» Á÷Á¢ º¸´Â °ÍÀÌ ´õ µµ¿òÀÌ µÉ °Í °°´Ù°í »ý°¢À» Çß´Ù. Àо¸é ¾Ë°ÚÁö¸¸ ±×¸® ¾î·ÆÁö ¾Ê°Ô ±× ³»¿ëÀ» ÀÌÇØÇÏ¿© È°¿ëÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
3. ¸ÎÀ½¸».. ÀÌ ±ÛÀ» Àд µ¶ÀÚµé Áß¿¡¼ ¾î´À Á¤µµÀÇ ¼öÁØ¿¡ À̸£·¯ ÀÖ´Â ÇÁ·Î±×·¡¸ÓµéÀº Áö±Ý±îÁö Factory Method¶ó´Â À̸§À¸·Î Æ÷ÀåµÈ ³»¿ëÀ» ÀÌ¹Ì Àß ÀÌÇØÇÏ°í ÀÖÀ¸¸ç, ÀÚ½ÅÀÌ Âü¿©ÇÏ°í ÀÖ´Â ÇÁ·ÎÁ§Æ®ÀÇ ±¸ÇöºÎ¿¡¼ ÀÌ¹Ì ¸¹ÀÌ »ç¿ëÇÑ °æÇèÀ» °¡Áö°í ÀÖÀ» ¼öµµ ÀÖÀ» °ÍÀÌ´Ù. ±×·¯³ª ÇÊÀÚ°¡ ±¸Áö ÀÌ·± ³»¿ëÀ» ¿©±â¼ ù ¹ø° µðÀÚÀÎ ÆÐÅÏÀ¸·Î ¼Ò°³ÇÑ ÀÌÀ¯´Â ÀÌ ±ÛÀÇ Ãʹݺο¡¼µµ ¾ð±ÞÇßµíÀÌ ¡°°´Ã¼ÁöÇâ ÇÁ·Î±×·¡¹Ö ¾ð¾î¸¦ »ç¿ëÇÏ¿© ½Ã½ºÅÛÀ» °³¹ßÇÏ°í ÀÖ´Â ÀϹÝÀûÀÎ °³¹ßÀÚ°¡ ÀÏ»óÀûÀ¸·Î º¼ ¼ö ÀÖ´Â ¶Ç´Â ÇÊ¿ä·Î ÇÏ´Â °Íµé Áß¿¡¼ µðÀÚÀÎ ÆÐÅÏÀ¸·Î Á¤¸®µÇ¾î ÀÖ´Â °Í¡±À» ÆÐÅÏ ¼±ÅÃÀÇ ±âÁØÀ¸·Î »ï´Â °ÍÀÌ Àǹ̰¡ ÀÖ´Ù°í ÆÇ´ÜÇ߱⠶§¹®ÀÌ´Ù. Factory ÆÐÅÏÀº º¸°í ÀÌ ±ÛÀ» Àд µ¶ÀÚ°¡ µðÀÚÀÎ ÆÐÅÏ¿¡ ´ëÇÏ¿© ¾î¶² ´À³¦À» °¡Áö°Ô µÇ¾ú´ÂÁö ±Ã±ÝÇÏ´Ù. ¡®¹¹ º°°Å ¾Æ´Ï±º¡¯ ÇÏ´Â µ¶ÀÚµµ ÀÖÀ» °ÍÀÌ°í, ¡®¾ß ¹Ù·Î À̰žߡ¯ ÇÏ´Â µ¶ÀÚµµ ÀÖÀ» °ÍÀÌ´Ù. ÇÊÀÚÀÇ °æ¿ì´Â ÈÄÀÚ¿¡ ¼ÓÇß¾ú´Ù. ÇÊÀÚ°¡ ÈÄÀÚ¿¡ ¼ÓÇÑ ÀÌÀ¯´Â ´ÙÀ½°ú °°´Ù. °´Ã¼ÁöÇâ Æз¯´ÙÀÓÀº ´ÙÇü¼º(polymorphism)ÀÇ ¼ºÁúÀÌ ÀÖ¾î Àç»ç¿ë¼ºÀ» ³ôÀÏ ¼ö ÀÖ´Ù°í ¶°µé¾î ´ë´Â ¼ö¸¹Àº »ç¶÷µé°ú Ã¥µéÀ» º¸¾Ò°í, ÇÊÀÚ´Â ´ÙÇü¼ºÀ» ÀÌÇØÇϱâ À§Çؼ ³ë·ÂÇÏ°í ¾ó¸¶°£Àº ÀÌÇØÇϴµ¥ ¼º°øÇϱ⵵ Çß´Ù. ±×·¯³ª, ´ÙÇü¼ºÀ» ½ÇÀç·Î Àß ÀÌÇØÇصµ ½ÇÁúÀûÀ¸·Î °´Ã¼ÁöÇ⠽ýºÅÛÀ» µðÀÚÀÎÇÒ °æ¿ì¿¡ À̸¦ ±¸Ã¼ÀûÀ¸·Î »ç¿ëÇÏ´Â µ¥´Â ÇÑ°è°¡ ÀÖ¾ú´Ù. ±×·¯´ø Áß¿¡ µðÀÚÀÎ ÆÐÅÏÀ» º¸¾Ò°í, µðÀÚÀÎ ÆÐÅÏÀº ³ª¿¡°Ô ´ÞÄÞÇÑ ²ÜÀ» ÁÖ¾ú´Ù. ù È£¿¡¼µµ ¾ð±ÞÇßµíÀÌ µðÀÚÀÎ ÆÐÅÏÀº °´Ã¼ÁöÇ⠽ýºÅÛ µðÀÚÀνÃÀÇ Àç»ç¿ë¼º ½ÇÁúÀûÀ¸·Î Á¦°øÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» º¸¿© ÁÖ¾ú±â ¶§¹®ÀÌ´Ù. ³ª´Â µðÀÚÀÎ ÆÐÅÏ¿¡ °ü½ÉÀÌ ÀÖ´Â ¸¹Àº »ç¶÷µéÀÌ ÀÌ ±ÛÀ» ÀÐ°í ¡®¾î¼±¸¡¯, ¡®Àú¼±¸¡¯ ÇØ ÁÖ¾úÀ¸¸é ÁÁ°Ú´Ù. ±× ÀÌÀ¯´Â
µÎ °¡Áö´Ù. Çϳª´Â ÀÌ ±ÛÀ» Àд »ç¶÷µé¿¡ ´ëÇÑ ºÐÀ§±â¸¦ ÆľÇÇÏ´Â °ÍÀÌ ÇϳªÀÌ°í, ´Ù¸¥ Çϳª´Â ³»°¡ Àß ¸ø ÀÌÇØÇÏ°í ÀÖ´Â ºÎºÐ¿¡ ´ëÇÑ
°íħÀ» ¹Þ±â À§Çؼ´Ù. ±×¸®°í, °³ÀÎÀûÀ¸·Î´Â ÀÌ ±ÛÀÌ ¿ì¸®³ª¶óÀÇ µðÀÚÀÎ ÆÐÅÏ È°¼ºÈ¿¡ ±âÆøÁ¦°¡ µÇ¾úÀ¸¸é ÇÏ´Â Å« ¹Ù¶÷ÀÌ
ÀÖ´Ù. ´ÙÀ½ È£¿¡´Â ¾î¶² °ÍÀ» °¡Áö°í À̾߱⸦ Ç®¾î°¥Áö ±â´ëÇØ ÁÖ˜Þ!!
^(^
Âü°í ¹®Çå [1] Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Design Patterns, Elements of Resuable Object-Oriented Software, Addison-Wesley, 1995 [2] Mark Grand, Patterns in Java, volume 1, Wiley, 1998 [3] Nigel Warren, Philip Bishop, Java in Practice, Design Styles and Idioms for Effective Java, Addison-Wesley, 1999 [4] Pattern languages of Program Design 3, edited by Robert
Martin, Dirk Riehle, Frank Bschmann, Addison-Wesley, 1998
(÷ºÎ ±Û) ÀÌ ±ÛÀº ¡°ÀÎÅÍÆäÀ̽º(Interface)¡±¿¡ ´ëÇÑ ÀÌÇØ°¡ ¾øÀÌ´Â ÀÌÇØÇϱⰡ ½±Áö ¾ÊÀ» °Å¶õ »ý°¢ÀÌ µç´Ù. ÇÏÁö¸¸ ÀÎÅÍÆäÀ̽º¶õ ÁÖÁ¦°¡ ±×¸® ½±°Ô µÇ¾îÁú ¼ö ÀÖ´Â °ÍÀº ¾Æ´Ï¶ó°í »ý°¢ÇÑ´Ù. ÀÌ ±ÛÀ» ¾²±â ½ÃÀÛÇÑ Ãʱ⿡´Â ÀÌ·± Á¡¿¡ ÁÖÀǸ¦ ±â¿ïÀÌÁö ¸øÇß´Ù°¡ ±ÛÀ» ¾²±â ½ÃÀÛÇÏ¿© ¸¶°¨ÀÏÀÌ ´Ù°¡¿À¸é¼ ±× Á߿伺ÀÌ ´À²¸Áö±â ½ÃÀÛÇß´Ù. °³ÀÎÀûÀ¸·Îµµ ÇÑ ¹ø Á¤¸®ÇÏ°í ³Ñ¾î°¡°í ½ÍÀº ¿å½ÉÀÌ ÀÖ´Â ÁÖÁ¦´Ù. °³ÀÎÀûÀ¸·Î´Â ÀÎÅÍÆäÀ̽º¿¡ ´ëÇÑ °ÍÀÌ ¾î´À Á¤µµ Àß ÀÌÇØÇϱâ À§Çؼ´Â ¡°Abstraction¡±, ¡°Abstract Data Type¡±, ¡°Type À̷С± µî¿¡ ´ëÇÑ ÀÌÇØ°¡ ¼±ÇàµÇ¾î¾ß ÇÒ °Å¶ó »ý°¢À» ÇÏ°í ÀÖ´Ù. ÀÌ ºÎºÐ¿¡ ´ëÇÑ ÃæºÐÇÑ Áغñ¸¦ ÇÏÁö ¸øÇÑ Á¡¿¡ ´ëÇؼ ÀÌ ±ÛÀ» Àд ºÐµé¿¡°Ô ¹Ì¾ÈÇÑ ¸¶À½ÀÌ ¸¹´Ù. »õ·Î¿î ÁÖÁ¦°¡ »ý°åÀ¸´Ï, ÀÌ ºÎºÐ¿¡ ´ëÇÑ °ÍÀ» ´ÙÀ½ È£¿¡´Â ÃæºÐÈ÷ ¹Ý¿µÇÏ¿© °ü·Ã ³»¿ë¿¡ ´ëÇÑ ±ÛÀ» ½ÇÀ» ¼ö ÀÖµµ·Ï ³ë·ÂÇÏ°Ú´Ù. ¿©±â¼´Â ÀÚ¹Ù ¾ð¾î¸¦ ÀÌ¿ëÇÏ¿© ÄÚµå ±¸ÇöÀÌ µÇ¾î ÀÖÀ¸´Ï, °£´ÜÇÏ°Ô ÀÌÇØÇÒ ¼ö ¹æµµ·Î ÀÚ¹Ù ÇÁ·Î±×·¡¹Ö ¾ð¾î¸¦ ¼³¸íÇØ ³õÀº Ã¥ÀÇ ¡°interface¡± °ü·Ã ³»¿ëÀ» Âü°í Çϱ⠹ٶõ´Ù.
(±Û Èıâ) °´Ã¼ÁöÇâ ´º½º·¹ÅÍÀÇ ¡°¹¯°í ´äÇϱ⡱¶õ¿¡ À¯È½Ä´ÔÀÌ µðÀÚÀÎ ÆÐÅÏ¿¡ ´ëÇؼ Çѱ۷ΠµÈ Âü°í ¹®¼³ª »çÀÌÆ®¸¦ ÃßõÇØ ÁÙ °ÍÀ» ¿äûÇÑ ÀûÀÌ ÀÖ¾ú½À´Ï´Ù. ÀÌ¿¡ ´ëÇؼ Àú´Â ¾ø´Ù¶ó°í ´äÀ» ÇØ ÁÖ¾ú´Âµ¥, ¼¿µÁØ´ÔÀÌ ¸¶¼Ò 3¿ùÈ£¿¡ µðÀÚÀÎÆÐÅÏ Æ¯Áý±â»ç°¡ ÀÖ´Ù´Â Á¤º¸¸¦ ¾Ë·Á Á̴ּõ±º¿ä. ±×·¡¼, °ð È®ÀÎ ÀÛ¾÷¿¡ µé¾î°¬½À´Ï´Ù. °³ÀÎÀûÀ¸·Î ¸ð¸£°í ÀÖ¾ú´ø »ç½ÇÀ̾ú°Åµç¿ä. ¸¶¼Ò¿¡ ½Ç¸° ±ÛÀ» º¸°í ÇÑ ¸¶µð ÇØ¾ß °Ú±â¿¡ ¿©±â¿¡ À̸® ±ÛÀ» Àû´Â °ÍÀÔ´Ï´Ù. Ȥ½Ã ÀÌ ±ÛÀ» Àд ºÐµé Áß¿¡ µðÀÚÀÎ ÆÐÅÏ¿¡ °ü½ÉÀÌ ÀÖÀ¸½Ã´Ù¸é Á¦°¡ Âü°í¹®Çå [2]·Î ´Þ¾Æ ³õÀº ¡°Patterns in Java¡±¶ó´Â Ã¥À» ¾Æ½Ç °Ì´Ï´Ù. ¸¶¼Ò¿¡ ¼Ò°³ µÇ¾î ÀÖ´Â ÆÐÅÏ°ú °ü·ÃµÈ ³»¿ëÀº °ÅÀÇ ÀÌ ³»¿ëÀ» ±×´ë·Î µû¶úÀ¸¸ç, Ŭ·¡½º ´ÙÀ̾î±×·¥µµ ÀÌ Ã¥ÀÇ °ÍÀ» °ÅÀÇ ±×´ë·Î »ç¿ëÇß´õ±º¿ä. ´Ù¸¥ Ã¥ÀÇ ³»¿ëÀ» Âü°íÇÑ´Ù´Â Ãø¸é¿¡¼´Â ¾Æ¹« ¹®Á¦°¡ ¾ø½À´Ï´Ù. ¿©±â¼ ¹®Á¦´Â ¾î´À Ã¥À» Âü°í Çß´Ù´Â À̾߱⵵ ¾ø°í ±×´ë·Î ¿Å°Ü ³õÀº Ŭ·¡½º ´ÙÀ̾î±×·¥µéµµ Àß ¸ø Ç¥±âµÇ¾î ¼³¸í°ú ´Ù¸£°Ô µÇ¾î ÀÖ´Ù´Â °ÍÀÔ´Ï´Ù. ÀÌ °ÍÀº ³Ê¹« ¹«Ã¥ÀÓÇÑ Ã³»ç°¡ ¾Æ´Ñ°¡ »ý°¢À» ÇØ º¾´Ï´Ù. ¿ì¸® ³ª¶óÀÇ °³¹ßÀÚµéÀÌ °¡Àå ¸¹ÀÌ º»´Ù´Â Àü¹® ÀâÁö¿¡¼ ÀÌ·± ½ÄÀÇ ³»¿ëÀ» ¾Æ¹« »ý°¢ ¾øÀÌ Áö¸é¿¡ ½Ç¾ú´Ù´Â °ÍÀÌ µµµ¥Ã¼°¡ ³³µæÀÌ °¡Áö ¾Ê´õ±º¿ä. ÀÚ½ÅÀÇ ÀÌÇظ¦ ¹ÙÅÁÀ¸·Î ¾º¿© Á³´Ù±âº¸´Ù´Â ´Ù¸¥ »ç¶÷ÀÇ »ý°¢À» ±×´ë·Î ÀÚ½ÅÀÇ °ÍÀÎ ¾ç »ç¿ëÇؼ, ÇÑ Ã¥¿¡¼ ÁÖÀåÇÏ°í ÀÖ´Â ³»¿ëÀ» ±× °ÍÀÌ ÀüºÎÀÎ °Íó·³ À̾߱âÇÏ´Â ¾îó±¸´Ï ¾ø´Â À̾߱â Àü°³¸¦ ÇÏ°í ÀÖ´Â °ÍÀÌÁÒ. ±×·¯´Ï Àß ¸ð¸£´Â µ¶ÀÚµéÀº ±× ³»¿ë¿¡ ÀÐ´Â´Ù¸é ¸¹Àº È¥¶õÀÇ ¼ÒÁö°¡ ÀÖÀ» °ÍÀÔ´Ï´Ù. »ç½Ç °´Ã¼ÁöÇâ ´º½º·¹Å͸¦ ¹ß°£ÇÏ´Â ÀúÈñµéµµ ÀÌ·± ¹®Á¦¿¡ ¾ÆÁÖ Á¶½ÉÀ» ÇØ¾ß ÇÒ °ÍÀ̶õ »ý°¢À» ÇÏ°í ÀÖ½À´Ï´Ù. Á¦°¡ ±ÛÀ» ¾²¸é¼µµ ¹Ýº¹ÀûÀ¸·Î ¸»¾¸À» µå¸®Áö¸¸, À߸øµÈ °ÍÀº ¹Ù·Î¹Ù·Î ¿¬¶ôÀ» ÁÖ½Ã¸é °ð ¼öÁ¤À» Çϵµ·Ï ÇÏ°Ú½À´Ï´Ù.
ÀÌ ±Û¿¡»ðÀÔµÈ Å¬·¡½º ´ÙÀ̾î±×·¥Àº ¡°Plastic Software¡±ÀÇ UML ¸ðµ¨¸µ ÅøÀÎ ¡°PLASTIC 2.0¡±À» ÀÌ¿ëÇÏ¿©±×·È´Ù. |
oonewsletter - 2000/2/29 |