°´Ã¼ÁöÇâ ÃʽÉÀÚµµ ÀÌÇØÇϱ⠽¬¿î µðÀÚÀÎ ÆÐÅÏ ÀÔ¹®¼ÇÁ·Î±×·¡¹ÖÀ» ÇÏ´Ù º¸¸é ¿¹Àü°ú °°Àº ÀÏÀ» ¹Ýº¹ÇÏ°í ÀÖ´Ù°í ´À³¥ ¶§°¡ ÀÖ´Ù. °æÇèÀÌ ´Ã¾î °¥¼ö·Ï ÀÌ·¯ÇÑ ¡®ÆÐÅÏ¡¯ÀÌ ÀÚ½ÅÀÇ ¸Ó¸´¼Ó¿¡ ¸¹ÀÌ ÃàÀûµÇ°í, ±× ¡®ÆÐÅÏ¡¯À» ´ÙÀ½ °³¹ß¿¡ Àû¿ëÇÒ ¼ö ÀÖ°Ô µÈ´Ù. °»½º ¿Àºê Æ÷(Gangs of Four) ȤÀº GoF¶ó°í ºÒ¸®´Â ³× »ç¶÷Àº ÀÌ·¯ÇÑ °³¹ßÀÚÀÇ ¡®°æÇ衯À̳ª ¡®³»ÀûÀÎ ÃàÀû¡¯À» ¡®µðÀÚÀÎ ÆÐÅÏ¡¯À̶ó´Â ÇüÅ·ΠÁ¤¸®Çß´Ù. ¡ºJAVA ¾ð¾î·Î ¹è¿ì´Â µðÀÚÀÎ ÆÐÅÏ ÀÔ¹®¡»Àº GoF°¡ Á¤¸®ÇÑ 23°³ÀÇ µðÀÚÀÎ ÆÐÅÏÀ» Çϳª¾¿ ¼³¸íÇÏ¸é¼ °´Ã¼ÁöÇâÀ» Àß ¸ð¸£´Â Ãʺ¸ÀÚµµ ÀÌÇØÇϱ⠽±µµ·Ï Á¤¸®ÇÑ µðÀÚÀÎ ÆÐÅÏ ÀÔ¹®¼ÀÌ´Ù. ´Ü¼øÈ÷ ³í¸®³ª À̷и¸ Á¦½ÃÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó, µðÀÚÀÎ ÆÐÅÏÀ» »ç¿ëÇÑ ±¸Ã¼ÀûÀÎ ¿¹Á¦ ÇÁ·Î±×·¥À» Java ¾ð¾î·Î ±â¼úÇÏ°í ½ÇÁ¦·Î µ¿ÀÛ½ÃÄÑ º»´Ù. 2002³â ÃÊÆÇÀ¸·ÎºÎÅÍ 20³â, 2008³â °³Á¤Áõº¸ÆÇÀ¸·ÎºÎÅÍ 14³â ¸¸¿¡ Ãâ°£µÈ À̹ø 3ÆÇÀº ¿¹Á¦ ÇÁ·Î±×·¥À» Java ¾ð¾îÀÇ ¹ßÀü¿¡ ¸ÂÃß¾î ¾÷µ¥ÀÌÆ®Çß°í, µ¿½Ã¿¡ º»¹® ³»¿ëµµ Àü¸éÀûÀ¸·Î Àç°ËÅäÇß´Ù.µðÀÚÀÎ ÆÐÅÏÀº ¸Õ ¹Ì·¡¸¦ À§ÇØ ¹è¿ì´Â °ÍÀÌ ¾Æ´Ï´Ù. µðÀÚÀÎ ÆÐÅÏÀº ¿ì¸®°¡ ¸ÅÀÏ »ç¿ëÇÏ´Â ÇÁ·Î±×·¥À» »õ·Î¿î °üÁ¡¿¡¼ Àç°ËÅäÇÏ¿© Àç»ç¿ëÇϱ⠽±°í, ±â´ÉÀ» È®ÀåÇϱ⠽¬¿î ¼ÒÇÁÆ®¿þ¾î¸¦ ¸¸µé±â À§ÇÑ À¯ÀÍÇÑ ±â¹ýÀÌ´Ù. ÀÌ Ã¥À¸·Î µðÀÚÀÎ ÆÐÅÏ¿¡ ´ëÇÑ ÀÌÇظ¦ ³ÐÈ÷°í ÀÚ¹Ù °³¹ßÀڷμ ÇÑÃþ ´õ ¼ºÀåÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
ÇÁ·Î±×·¡¹Ö°ú ¾ÏÈ£, ¼öÇÐ µî¿¡ °üÇÑ Ã¥À» ´Ù¼ö ÁýÇÊÇß´Ù. ÀÎÅͳݿ¡ ¿¬ÀçÇÑ ¡¸¼öÇÐ ¼Ò³à¡¹, ¡¸¼öÇÐ ¼Ò³àÀÇ ºñ¹Ð³ëÆ®¡¹´Â ¼ö¸¹Àº ³×ƼÁð¿¡°Ô ¼öÇÐÀÇ Àç¹Ì¿Í Áñ°Å¿òÀ» ÁÖ¾ú°í, Ã¥À¸·Î Ãâ°£µÇ¾î ¼±Ç³ÀûÀÎ Àα⸦ ²ø¸é¼ ´ë¸¸, ű¹, ¹Ì±¹ µî¿¡¼µµ Ãâ°£µÇ¾ú´Ù.
±¹³»¿¡ ¼Ò°³µÈ Ã¥À¸·Î´Â ¡ºÇÁ·Î±×·¡¸Ó, ¼öÇÐÀ¸·Î »ý°¢ÇÏ¶ó¡» ¡º¼öÇаɡ» ¡º¼öÇРȦ¸¯ Æ丣¸¶ÀÇ ¸¶Áö¸· Á¤¸®¡» ¡ºJava ¾ð¾î·Î ¹è¿ì´Â µðÀÚÀÎ ÆÐÅÏ ÀÔ¹®¡» ¡º¾Ë±â ½¬¿î Á¤º¸º¸È£°³·Ð¡» ¡ºJava ¾ð¾î·Î ¹è¿ì´Â µðÀÚÀÎ ÆÐÅÏ ÀÔ¹® - ¸ÖƼ¾²·¹µå Æí¡» ¡ºJava ¾ð¾î·Î ¹è¿ì´Â ¸®ÆÑÅ丵 ÀÔ¹®¡» µîÀÌ ÀÖ´Ù.
1ºÎ | µðÀÚÀÎ ÆÐÅÏ¿¡ Àͼ÷ÇØÁö´ÙPart 1 Iterator - 󸮸¦ ¹Ýº¹ÇÏ´ÙPart 2 Adapter - »çÀÌ¿¡ ³¢¿ö Àç»ç¿ëÇÑ´Ù2ºÎ | ÇÏÀ§ Ŭ·¡½º¿¡ ¸Ã±â´ÙPart 3 Template Method - ÇÏÀ§ Ŭ·¡½º¿¡¼ ±¸Ã¼ÀûÀ¸·Î ó¸®ÇÑ´ÙPart 4 Factory Method - ÇÏÀ§ Ŭ·¡½º¿¡¼ ÀνºÅϽº¸¦ ¸¸µç´Ù3ºÎ | ÀνºÅϽº¸¦ ¸¸µé´ÙPart 5 Singleton - ÀνºÅϽº¸¦ ´Ü Çϳª¸¸ ¸¸µç´ÙPart 6 Prototype - º¹»çÇؼ ÀνºÅϽº¸¦ ¸¸µç´ÙPart 7 Builder - º¹ÀâÇÑ ÀνºÅϽº¸¦ Á¶¸³ÇÑ´ÙPart 8 Abstract Factory - °ü·Ã ºÎÇ°À» Á¶ÇÕÇÏ¿© Á¦Ç°À» ¸¸µç´Ù4ºÎ | ³ª´©¾î »ý°¢ÇÏ´ÙPart 9 Bridge - ±â´É °èÃþ°ú ±¸Çö °èÃþÀ» ³ª´«´ÙPart 10 Strategy - ¾Ë°í¸®ÁòÀ» ¸ðµÎ ¹Ù²Û´Ù5ºÎ | µ¿ÀϽÃÇÏ´ÙPart 11 Composite - ±×¸©°ú ³»¿ë¹°À» µ¿ÀϽÃÇÑ´ÙPart 12 Decorator - Àå½ÄƲ°ú ³»¿ë¹°À» µ¿ÀϽÃÇÑ´Ù6ºÎ | µ¥ÀÌÅÍ ±¸Á¶¸¦ µ¹¾Æ´Ù´Ï´ÙPart 13 Visitor - µ¥ÀÌÅÍ ±¸Á¶¸¦ µ¹¾Æ´Ù´Ï¸é¼ ó¸®ÇÑ´ÙPart 14 Chain of Responsibility - Ã¥ÀÓÀ» ¶°³Ñ±ä´Ù7ºÎ | ´Ü¼øÈÇÑ´ÙPart 15 Facade - ´Ü¼øÇÑ Ã¢±¸¸¦ ¸¸µç´ÙPart 16 Mediator - ÁßÀçÀÚ¸¦ ÅëÇؼ ó¸®ÇÏ´Ù8ºÎ | »óŸ¦ °ü¸®ÇÏ´ÙPart 17 Observer - »óÅ º¯È¸¦ ¾Ë·Á ÁØ´ÙPart 18 Memento - »óŸ¦ ÀúÀåÇÑ´ÙPart 19 State - »óŸ¦ Ŭ·¡½º·Î Ç¥ÇöÇÑ´Ù9ºÎ | ³¶ºñ¸¦ ¾ø¾Ö´ÙPart 20 Flyweight - °°Àº °ÍÀº °øÀ¯Çؼ ³¶ºñ¸¦ ¾ø¾Ø´ÙPart 21 Proxy - ÇÊ¿äÇØÁö¸é ¸¸µç´Ù10ºÎ | Ŭ·¡½º·Î Ç¥ÇöÇÑ´ÙPart 22 Command - ¸í·ÉÀ» Ŭ·¡½º·Î Ç¥ÇöÇÑ´ÙPart 23 Interpreter - ¹®¹ý ±ÔÄ¢À» Ŭ·¡½º·Î Ç¥ÇöÇÑ´Ù