¸®ÆÑÅ丵 Áö¿ø

Java ÇÁ·Î±×·¥ ¸®ÆÑÅ丵ÀÇ ¸ñÀûÀº ÇÁ·Î±×·¥ µ¿ÀÛ¿¡ ¿µÇâÀ» ÁÖÁö ¾Ê°í ½Ã½ºÅÛ Àü¹Ý¿¡ °ÉÃÄ ÄÚµå º¯°æÀ» ¼öÇàÇÏ´Â °ÍÀÔ´Ï´Ù. Java µµ±¸´Â Äڵ带 ½±°Ô ¸®ÆÑÅ丵ÇÒ ¼ö ÀÖµµ·Ï Áö¿øÇÕ´Ï´Ù.

¸®ÆÑÅ丵 µµ±¸¿¡¼­´Â Martin Fowler°¡ ÁýÇÊÇÑ Refactoring: Improving the Design of Existing Code(Addison Wesley 1999)¿¡ ¼³¸íµÇ¾î ÀÖ´Â ¿©·¯ °¡Áö º¯È¯(¿¹: ¸Þ¼Òµå ÃßÃâ, ·ÎÄà º¯¼ö ÀζóÀÎ µî)À» Áö¿øÇÕ´Ï´Ù.

¸®ÆÑÅ丵 Á¶ÀÛÀ» ¼öÇàÇÒ ¶§ ¸®ÆÑÅ丵 ¼öÇàÀ» ¼±ÅÃÇϱâ Àü¿¡ ¸®ÆÑÅ丵 Á¶Ä¡·Î ¹ß»ýÇÒ ¸ðµç º¯°æ»çÇ×À» ¹Ì¸®º¼ ¼ö ÀÖ½À´Ï´Ù. ¸®ÆÑÅ丵 Á¶ÀÛÀ» ¹Ì¸®º¸´Â °æ¿ì °¡´ÉÇÑ ¹®Á¦Á¡¿¡ ´ëÇØ ÅëÁö¹Þ°í ¸®ÆÑÅ丵 Á¶Ä¡°¡ ¼öÇàÇÒ º¯°æ»çÇ× ¸ñ·ÏÀÌ Á¦½ÃµË´Ï´Ù. ¸®ÆÑÅ丵 Á¶ÀÛÀ» ¹Ì¸®º¸Áö ¾ÊÀ» °æ¿ì º¯°æÀº ÀüüÀûÀ¸·Î ¼öÇàµÇ°í °á°ú·Î »ý¼ºµÇ´Â ¹®Á¦Á¡ÀÌ Ç¥½ÃµË´Ï´Ù. ¸®ÆÑÅ丵À» °è¼ÓÇÒ ¼ö ¾ø´Â ¹®Á¦Á¡ÀÌ ¹ß°ßµÇ¸é Á¶ÀÛÀÌ Á¤ÁöµÇ°í ¹®Á¦Á¡ ¸ñ·ÏÀÌ Ç¥½ÃµË´Ï´Ù.

¸®ÆÑÅ丵 ¸í·ÉÀº ¿©·¯ Java º¸±â(¿¹: ÆÐŰÁö Ž»ö±â, ¾Æ¿ô¶óÀÎ)¿Í ÆíÁý±âÀÇ ÄÁÅØ½ºÆ® ¸Þ´º¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. Java ¿ä¼Ò¸¦ À̵¿Çϰí À̸§À» ¹Ù²Ù·Á¸é Á¾¼Ó ÆÄÀÏÀ» º¯°æÇØ¾ß Çϱ⠶§¹®¿¡ À̵¿ ¹× À̸§ ¹Ù²Ù±â¿Í °°ÀÌ "¿Ü°ü»ó ´Ü¼øÇÑ" ¿©·¯ °¡Áö ¸í·ÉÀÌ ½ÇÁ¦·Î´Â ¸®ÆÑÅ丵 Á¶ÀÛÀÔ´Ï´Ù.

¸®ÆÑÅ丵Àº ´ëÈ­½ÄÀ¸·Î ¼öÇàµÉ »Ó¸¸ ¾Æ´Ï¶ó ¸®ÆÑÅ丵 ½ºÅ©¸³Æ®¿¡¼­µµ ¼öÇàµË´Ï´Ù. ¸®ÆÑÅÍ ¸Þ´º¿¡¼­ »ç¿ë °¡´ÉÇÑ ´ëºÎºÐÀÇ ¸®ÆÑÅ丵Àº ³ªÁß¿¡ ¸®ÆÑÅ丵 ½ºÅ©¸³Æ®¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ÀÛ¾÷°ø°£ ¸®ÆÑÅ丵 È÷½ºÅ丮¿¡ ÀúÀåµË´Ï´Ù. ¸®ÆÑÅ丵 µµ±¸´Â ÀÛ¾÷°ø°£ ¸®ÆÑÅ丵 È÷½ºÅ丮¿¡¼­ ¸®ÆÑÅ丵¸¦ ±â¹ÝÀ¸·Î ¸®ÆÑÅ丵 µµ±¸ ÀÛ¼ºÀ» Áö¿øÇÕ´Ï´Ù. ±×·± ´ÙÀ½, ¸®ÆÑÅ丵 ½ºÅ©¸³Æ®¸¦ ÀÓÀÇÀÇ ÀÛ¾÷°ø°£¿¡ Àû¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸®ÆÑÅ丵 ½ºÅ©¸³Æ®¸¦ Àû¿ëÇÏ¸é ¿ø·¡ ¸®ÆÑÅ丵À» ÀÛ¼ºÇÑ »ç¿ëÀÚ¿¡ ÀÇÇØ ½ÃÀÛµÈ °Íó·³ ¸®ÆÑÅ丵À» Àç»ýÇÒ ¼ö ÀÖ´Â ¸®ÆÑÅ丵 ¸¶¹ý»ç°¡ ½ÇÇàµË´Ï´Ù.

¸®ÆÑÅ丵 ½ºÅ©¸³Æ®¿Í °ü·ÃÇÏ¿© ¸®ÆÑÅ丵 µµ±¸´Â JAR ÆÄÀÏÀ» »õ ¹öÀüÀ¸·Î ÀÌÁÖÇÒ ¼ö ÀÖµµ·Ï ¸®ÆÑÅ丵À» Á¦°øÇϸç, ÀÌÁÖ ÈÄ¿¡ ÀÛ¾÷°ø°£¿¡¼­ÀÇ º¯°æ»çÇ× Áß´ÜÀ» ¹æÁöÇϱâ À§ÇØ ¸®ÆÑÅ丵 Á¤º¸¸¦ »ç¿ëÇÕ´Ï´Ù.

°ü·Ã °³³ä

JDT(Java Development Tool)

°ü·Ã Ÿ½ºÅ©

¸®ÆÑÅ丵 ½ºÅ©¸³Æ® ÀÛ¼º
¸®ÆÑÅ丵 ½ºÅ©¸³Æ® Àû¿ë
¸®ÆÑÅ丵 È÷½ºÅ丮 ã¾Æº¸±â

°ü·Ã ÂüÁ¶

¸®ÆÑÅ丵 Á¶Ä¡
¸®ÆÑÅ丵 ¸¶¹ý»ç
Java ȯ°æ ¼³Á¤