¸â¹ö ¹Ð¾î ³»¸®±â ¸®ÆÑÅ丵

 

ÀÌ ¼½¼ÇÀº ´ç½Å¿¡°Ô Push Members Down  ¸®ÆÑÅ丵 ±â´É¿¡ ´ëÇØ Æ÷°ýÀûÀΠ overview¿Í  how ÀÌ ¸®ÆÑÅ丵ÀÌ IntelliJ IDEA¿¡¼­ »ç¿ëµÉ ¼ö Àִ°¡¸¦ Á¦°øÇÕ´Ï´Ù.

°³¿ä


Push Members Down   ¸®ÆÑÅ丵 ±â´ÉÀº ¼­ºê Ŭ·¡½º ¶Ç´Â ¼­ºê ÀÎÅÍÆäÀ̽º¿¡ Ŭ·¡½º ¸â¹ö¸¦ À̵¿ÇÏ¿© »ç¿ëÀÚ¿¡°Ô ±×µéÀÇ Å¬·¡½º °èÃþÀ» ±ú²ýÇÏ°Ô Çϵµ·Ï Çã¶ôÇØÁÝ´Ï´Ù. ¸â¹ö´Â ±× ´ÙÀ½ Á÷Á¢ÀûÀÎ ¼­ºê Ŭ·¡½º/ÀÎÅÍÆäÀ̽º·Î¸¸ Àç¹èÄ¡µË´Ï´Ù.


¿¹¸¦ µé¸é, ´ç½ÅÀº ´ÙÀ½ Äڵ带 °¡Áý´Ï´Ù:

 
public class ClassParent {
    void method1(){
        //some code here
    }
    void method2() {
        //some code here
    }
 
}
 
public class ClassChild extends ClassParent {
        //some code here
}

 

±×¸®°í ´ç½ÅÀº ¼­ºê Ŭ·¡½º·Î method2 ¸¦ ¹Ð¾î ³»¸± Çʿ䰡 ÀÖ½À´Ï´Ù.  ´ç½ÅÀÇ ÄÚµå´Â ¸®ÆÑÅ丵 ÀÌÈÄ ´ÙÀ½Ã³·³ º¸ÀÏ °ÍÀÔ´Ï´Ù:
 
public class ClassParent {
    void method1(){
        //some code here
    }
}
 
public class ClassChild extends ClassParent {
    void method2() {
        //some code here
    }
    //some code here
}
 

 

¸â¹ö ¹Ð¾î ³»¸®±â


Ŭ·¡½º ¸â¹ö¸¦ ¹Ð¾î ³»¸®±â À§ÇÏ¿©:

 1.  ¿¡µðÅÍ ¶Ç´Â Project View  / Commander ¿¡¼­ ´ç½ÅÀÌ ¹Ð¾î ³»¸± Çʿ䰡 ÀÖ´Â ¸â¹ö°¡ ¹Ð¾î ³»¸®´Â Ŭ·¡½º À§ÀÇ Ä³·µÀ» ¼³Á¤ÇÏ°í ¸ÞÀÎ ¸Þ´º ¶Ç´Â ¿À¸¥ÂÊ ¹öưÀ» Ŭ¸¯ÇÏ´Â °Í¿¡ ÀÇÇØ ºÒ·ÁÁö´Â ÆË¾÷ ¸Þ´º¿¡¼­ Refactor |  Push Members Down...  ¸¦ Ŭ¸¯ÇϽʽÿÀ.

 2.   ´ç½ÅÀº Push Members Down ´ÙÀ̾ó·Î±×¸¦ º¸°Ô µÉ °Í ÀÔ´Ï´Ù.

¹Ð¾î ³»¸®°Ô µÇ´Â ¸â¹ö

ÀÌ ÆÐ³ÎÀº ¹Ð¾î ³»·ÁÁö´Â ¸ðµç Ŭ·¡½º ¸â¹öÀÇ ¸ñ·ÏÀ» º¸¿©ÁÝ´Ï´Ù.  ±×µéÀº Ŭ·¡½º, ÀÎÅÍÆäÀ̽º, Çʵå¿Í ¸Þ¼Òµå°¡ µÉ ¼ö ÀÖ½À´Ï´Ù.  Å¬·¡½º ¸â¹ö¸¦ ¹Ð¾î ³»¸®±â À§ÇØ, ´ç½ÅÀº ±× ¿ÞÂÊ¿¡¼­ üũ ¹Ú½º¸¦ ¼±ÅÃÇØ¾ß¸¸ ÇÕ´Ï´Ù.   ¸¸ÀÏ ´ç½ÅÀÌ ¸Þ¼ÒµåÀÇ ¿À¸¥ÂÊ¿¡ »óÀÀÇϴ üũ ¹Ú½º¸¦ Ç¥½ÃÇÑ´Ù¸é,  Çª½ÃµÈ ¸Þ¼Òµå´Â ¼Ò½º Ŭ·¡½º/ÀÎÅÍÆäÀ̽º¿¡¼­ Ãß»óÀ¸·Î¼­ ¼±¾ðµÉ ¼ö ÀÖ½À´Ï´Ù.

¸¸ÀÏ ¸â¹ö Àü¼ÛÀÌ ¹®Á¦¸¦ ¾Æ¸¶µµ ÃÊ·¡ÇÒÁöµµ ¸ð¸¥´Ù¸é, ´ç½ÅÀº »¡°£ °­Á¶ Ç¥½Ã¿Í ÇÔ²² ÅëÁöµÉ °ÍÀÔ´Ï´Ù.  ÀÌ °­Á¶ Ç¥½Ã´Â ¸¸ÀÏ »óȲÀÌ ¹æÄ¡µÇ¸é, ¸®ÆÑÅ丵ÀÌ Àû¿ëµÇ°í ³­ ÈÄ¿¡ ¿¡·¯¸¦ Ç¥½ÃÇÒ °Í ÀÔ´Ï´Ù.  ¸¸ÀÏ ´ç½ÅÀÌ ¸®ÆÑÅ丵 ÇÁ·Î¼¼½º¸¦ °è¼ÓÇϱâ·Î ¼±ÅÃÇÏ¸é ´ç½Å¿¡°Ô Problems Detected ´ÙÀ̾ó·Î±×°¡ ÇÁ·ÒÇÁÆ® µÉ °ÍÀÔ´Ï´Ù.


¸®ÆÑÅ丵(±×·¯³ª °á°ú ÄÚµå´Â ÄÄÆÄÀÏ µÇÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù)À» Àû¿ëÇϱâ À§ÇØ Continue ¸¦ ´©¸¨´Ï´Ù.  ¶Ç´Â ÇÊ¿äÇÑ Á¤Á¤À» Çϱâ À§Çؼ­ Push Members Down  ´ÙÀ̾ó·Î±×·Î µ¹¾Æ°¡±â À§Çؼ­ Cancel  À» ´©¸¨´Ï´Ù

°­Á¶µÈ ¸â¹ö À§¿¡¼­ ÀáÀçÀûÀÎ ¹®Á¦ÀÇ ¿øÀÎÀ» º¸±â À§ÇØ, ±×°Í À§¿¡¼­ ¸¶¿ì½º Æ÷ÀÎÅ͸¦ Áö¿¬½ÃŰ½Ê½Ã¿À.  ¹®Á¦ ¼³¸íÀÌ ÀÖ´Â ÆË¾÷ ¸Þ½ÃÁö°¡ ³ªÅ¸³¯ °ÍÀÔ´Ï´Ù.

Javadoc for abstracts  

´ç½ÅÀÌ »óÀÀÇÏ´Â Javadoc ÄÚ¸àÆ®¸¦ °¡Áö´Â Ãß»ó ¸Þ¼Òµå¸¦ ²ø¾î¿Ã¸± ¶§ ´ç½ÅÀº ¾Æ¸¶µµ ±×°ÍµéÀ» ´Ù·ç±â¸¦ ¿øÇÏ´Â ±× ¹æ¹ýÀ» ¼±ÅÃÇÒ °Í ÀÔ´Ï´Ù.

´ç½ÅÀº As is¸¦ ¼±ÅÃÇÏ´Â ¿øÇüÀÇ Å¬·¡½º¿¡¼­ ±×°ÍµéÀ» ³öµÑ ¼ö ÀÖ½À´Ï´Ù, ¶Ç´Â ±×°ÍµéÀ» Copy¸¦ ¼±ÅÃÇÏ´Â »óÀ§ Ŭ·¡½º/ÀÎÅÍÆäÀ̽º·Î ±×°ÍµéÀ» º¹»çÇϰųª ¶Ç´Â Move À» ¼±ÅÃÇÑ °Å±â¿¡¼­ ±×°ÍµéÀ» À̵¿ÇÒ ¼ö ÀÖ½À´Ï´Ù.

 

º¯°æµÈ ¹Ì¸® º¸±â »ç¿ë

ÀÌ Ã¼Å© ¹Ú½º¸¦ ¼±ÅÃÇÏ¸é ´ç½ÅÀº ¾î¶² »ç¿ëÀÌ ¹ß°ßµÇ¾ú´ÂÁö ÃßÀûÇϰí, ±×µéÀÇ ±³Ã¼¸¦ ½ÂÀÎÇϵµ·Ï Çã¶ôÇÕ´Ï´Ù.  ÀÌ Ã¼Å© ¹Ú½º°¡ ¼±ÅõÇÁö ¾ÊÀ» ¶§, IDEA´Â ±³Ã¼ ±â´É¸¦ ÀÚµ¿ÀûÀ¸·Î ¼öÇàÇÕ´Ï´Ù.


½ÉÁö¾î üũ ¹Ú½º°¡ ¼±ÅõÇÁö ¾Ê¾ÒÀ» ¶§µµ, ¸¸ÀÏ ¹ß°ßµÈ »ç¿ëÀÌ ¾î¶² Àбâ Àü¿ë ÆÄÀÏ¿¡¼­ Á¸ÀçÇÏ¸é ±³Ã¼ »ç¿ëÀ» È®ÀÎÇÏ´Â ÇÁ·ÒÇÁÆ®°¡ ´ç½Å¿¡ ´ë±âµÉ °Í ÀÔ´Ï´Ù.


Refactoring Preview ´ÙÀ̾ó·Î±×¿¡¼­ (¸¸ÀÏ ±×°ÍÀÌ ³ªÅ¸³ª¸é) ´ç½ÅÀº ¼öÇàµÈ º¯°æÀ» ºÐ¼®ÇÒ ¼ö ÀÖ½À´Ï´Ù.  ¸®ÆÑÅ丵°ú ÇÔ²² ÁøÇàÇϱâ À§Çؼ­, Do Refactor¸¦ Ŭ¸¯ÇÕ´Ï´Ù±×·¸Áö ¾Ê´Ù¸é Cancel À» Ŭ¸¯ÇÕ´Ï´Ù. »ó¼¼ÇÑ °ÍÀ» º¸·Á¸é Refactoring Preview¸¦ º¸½Ê½Ã¿À.


´ç½ÅÀÌ ¹Ð¾î ³»·ÁÁö´Â ¸ðµç ¸â¹ö¸¦ ¼±ÅÃÇÑ ÈÄ¿¡, ±×¸®°í ¾î¶² ¹®Á¦µµ ¹ß°ßÇÏÁö ¾Ê¾Ò½À´Ï´Ù, ¸®ÆÑÅ丵À» ½ÃÀÛÇϱâ À§ÇØ OK ¸¦ Ŭ¸¯ÇϽʽÿÀ.