Java ÇÁ·Î±×·¥ ¸®ÆÑÅ丵ÀÇ ¸ñÀûÀº ÇÁ·Î±×·¥ ÀÛµ¿¿¡ ¿µÇâÀ» ÁÖÁö ¾Ê°í ½Ã½ºÅÛ Àü¹Ý¿¡ °ÉÃÄ ÄÚµå º¯°æÀ» ¼öÇàÇÏ´Â °ÍÀÔ´Ï´Ù. Java µµ±¸´Â Äڵ带 ½±°Ô ¸®ÆÑÅ丵ÇÒ ¼ö ÀÖµµ·Ï Áö¿øÇÕ´Ï´Ù.
¸®ÆÑÅ丵 µµ±¸¿¡¼´Â Martin Fowler°¡ ÁýÇÊÇÑ Refactoring: Improving the Design of Existing Code(Addison Wesley 1999)¿¡ ¼³¸íµÇ¾î ÀÖ´Â ¿©·¯ °¡Áö º¯È¯(¿¹: ¸Þ¼Òµå ÃßÃâ, ÀζóÀÎ ·ÎÄà º¯¼ö µî)À» Áö¿øÇÕ´Ï´Ù.
¸®ÆÑÅ丵 Á¶ÀÛÀ» ¼öÇàÇÒ ¶§ ¸®ÆÑÅ丵 ¼öÇàÀ» ¼±ÅÃÇϱâ Àü¿¡ ¸®ÆÑÅ丵 Á¶Ä¡·Î ¹ß»ýÇÒ ¸ðµç º¯°æ»çÇ×À» ¹Ì¸®º¼ ¼ö ÀÖ½À´Ï´Ù. ¸®ÆÑÅ丵 Á¶ÀÛÀ» ¹Ì¸®º¸´Â °æ¿ì °¡´ÉÇÑ ¹®Á¦Á¡¿¡ ´ëÇØ ÅëÁö¹Þ°í ¸®ÆÑÅ丵 Á¶Ä¡°¡ ¼öÇàÇÒ º¯°æ»çÇ× ¸ñ·ÏÀÌ Á¦½ÃµË´Ï´Ù. ¸®ÆÑÅ丵 Á¶ÀÛÀ» ¹Ì¸®º¸Áö ¾ÊÀ» °æ¿ì º¯°æÀº ÀüüÀûÀ¸·Î ¼öÇàµÇ°í °á°ú·Î »ý¼ºµÇ´Â ¹®Á¦Á¡ÀÌ Ç¥½ÃµË´Ï´Ù. ¸®ÆÑÅ丵À» °è¼ÓÇÒ ¼ö ¾ø´Â ¹®Á¦Á¡ÀÌ ¹ß°ßµÇ¸é Á¶ÀÛÀÌ Á¤ÁöµÇ°í ¹®Á¦Á¡ ¸ñ·ÏÀÌ Ç¥½ÃµË´Ï´Ù.
¸®ÆÑÅ丵 ¸í·ÉÀº ¿©·¯ Java º¸±â(¿¹¸¦ µé¾î, ÆÐŰÁö Ž»ö±â, ¾Æ¿ô¶óÀÎ)¿Í ÆíÁý±âÀÇ ÄÁÅØ½ºÆ® ¸Þ´º¿¡¼ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. Java ¿ä¼Ò¸¦ À̵¿Çϰí À̸§À» ¹Ù²Ù·Á¸é Á¾¼Ó ÆÄÀÏÀ» º¯°æÇØ¾ß Çϱ⠶§¹®¿¡ À̵¿ ¹× À̸§ ¹Ù²Ù±â¿Í °°ÀÌ "¿Ü°ü»ó ´Ü¼øÇÑ" ¿©·¯ °¡Áö ¸í·ÉÀÌ ½ÇÁ¦·Î´Â ¸®ÆÑÅ丵 Á¶ÀÛÀÔ´Ï´Ù.
¸®ÆÑÅ丵
¹Ì¸®º¸±â¸¦ »ç¿ëÇÏÁö ¾Ê´Â ¸®ÆÑÅ丵
¹Ì¸®º¸±â¸¦ »ç¿ëÇÏ´Â ¸®ÆÑÅ丵
¸®ÆÑÅ丵 º¯°æ»çÇ× ¹Ì¸®º¸±â
¸®ÆÑÅ丵 Á¶ÀÛ ½ÇÇà Ãë¼Ò
¸®ÆÑÅ丵 Á¶ÀÛ ´Ù½Ã ½ÇÇà
¸®ÆÑÅ丵 Á¶Ä¡
¸®ÆÑÅ丵 ¸¶¹ý»ç
¸®ÆÑÅ丵 ȯ°æ ¼³Á¤
¸Þ¼Òµå ¿À·ù ÃßÃâ