Override/Implement/Delegate Methods  

 

ÀÌ ¼½¼ÇÀº IntelliJ  IDEA ¿¡¼­  Override Methods,  Implement Methods ,  Delegate Methods  ¿¡µðÅÍ Æ¯Â¡À» ¾î¶»°Ô »ç¿ëÇÏ´ÂÁö¿¡ ´ëÇØ ±â¼úÇÕ´Ï´Ù.


Override Methods: 
ÀÌ Æ¯Â¡Àº ´ç½ÅÀÌ ÃÖ»ó Ŭ·¡½º ¸Þ¼Òµå¸¦ º¸°í, ´ç½ÅÀÌ ÇöÀçÀÇ Å¬·¡½º¿¡¼­ ¿À¹ö¶óÀ̵å ÇÏ°í ½Í¾îÇÏ´Â ±×°ÍµéÀ» ¼±ÅÃÇϰí, ÇöÀçÀÇ ÆÄÀÏ, ´ÜÀÏ ¿¬»êÀÇ ¸ðµç °ÍÀ¸·Î ÃÖ¿ì¼±ÀÇ ¸Þ¼Òµå¸¦ À§ÇØ ½ºÅͺ긦 »ðÀÔÇÏ´Â °ÍÀ» °¡´ÉÇÏ°Ô ÇÕ´Ï´Ù.

Çϳª ÀÌ»óÀÇ ÃÖ»ó Ŭ·¡½º ¸Þ¼Òµå¸¦ µ¤¾î ¾²±â À§ÇØ, ´ç½ÅÀÌ ÃÖ¿ì¼±ÀÇ ¸Þ¼Òµå°¡ »ðÀԵDZ⠹ٶó´Â ¿¡µðÅÍ¿¡¼­ ij·µÀ» ¹èÄ¡ÇϽʽÿÀ.  Ctrl + O ¸¦ ´©¸£°Å³ª Code | Override Methods¸¦ ÁÖ ¸Þ´º »ó¿¡¼­ ¼±ÅÃÇϽʽÿÀ.  Select Methods to Override ´ÙÀ̾ó·Î±×°¡ ³ªÅ¸³³´Ï´Ù:



´ÙÀ̾ó·Î±×´Â ÇöÀçÀÇ Å¬·¡½ºÀÇ ¸ðµç ÃÖ»ó Ŭ·¡½ºÀ» Ç¥½ÃÇÕ´Ï´Ù.  ´ç½ÅÀº ¿À¹ö¶óÀÌµå µÇ´Â Çϳª ¶Ç´Â ´ÙÁßÀÇ ¸Þ¼Òµå¸¦ ÇöÀçÀÇ Å¬·¡½º¿¡¼­ ¼±ÅÃÇÒ ¼ö ÀÖ½À´Ï´Ù.  ´ÙÁß ¸Þ¼Òµå¸¦ ¼±ÅÃÇϰí, Ctrl¸¦ Àâ°í, °¢ ¸Þ¼Òµå¸¦ Ŭ¸¯ÇϽʽÿÀ.

 
¸¸ÀÏ ´ç½ÅÀÌ Copy Javadoc¸¦ üũÇϸé, ´ç½ÅÀÌ ¼±ÅÃÇÑ ÃÖ»óŬ·¡½ºÀÇ ¸Þ¼Òµå¿¡ ´ëÇÑ Javadoc ÄÚ¸àÆ®´Â º¹»çµÉ °ÍÀÌ°í ¸Þ¼Òµå ½Ã±×³ÊÃİú ÇÔ²² ÇöÀçÀÇ Å¬·¡½º·Î »ðÀԵ˴ϴÙ.



Implement Methods: 
ÀÌ Æ¯Â¡Àº ´ç½ÅÀÌ ÀÎÅÍÆäÀ̽º ¸Þ¼Òµå¸¦ º¸°í, ´ç½ÅÀÌ ÇöÀçÀÇ Å¬·¡½º¿¡¼­ ½ÇÇàÇϱ⠿øÇÏ´Â ±×°ÍµéÀ» ¼±ÅÃÇϰí, ÇÑ µ¿ÀÛ¿¡ ¸ðµç °ÍÀ» ´ç½ÅÀÌ ¼±ÅÃÇÑ °Í¿¡ ´ëÇØ ½ºÅͺ긦 »ðÀÔÇÕ´Ï´Ù,
Çϳª ÀÌ»óÀÇ ÀÎÅÍÆäÀ̽º ¸Þ¼Òµå¸¦ ½ÇÇàÇϱâ À§ÇØ, ´ç½ÅÀÌ ¸Þ¼Òµå¸¦ ½ÇÇàÇÏ´Â °ÍÀÌ »ðÀԵDZ⠹ٶó´Â ¿¡µðÅÍ¿¡¼­ ij·µÀ» ¹èÄ¡ÇϽʽÿÀ.  Ctrl + I¸¦ ´©¸£°Å³ª ÁÖ ¸Þ´º¿¡¼­ Code | Implement Methods¸¦ ¼±ÅÃÇϽʽÿÀ.


´ÙÀ̾ó·Î±×´Â ÇöÀçÀÇ Å¬·¡½º¿¡ º¸¿©Áö´Â ¸ðµç ÀÎÅÍÆäÀ̽º¸¦ Ç¥½ÃÇÕ´Ï´Ù.  ´ç½ÅÀº ½ÇÇàµÉ Çϳª ÀÌ»óÀÇ ¸Þ¼Òµå¸¦ ¼±ÅÃÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ÙÁß ¸Þ¼Òµå¸¦ ¼±ÅÃÇϰí, Ctrl¸¦ Àâ°í, °¢ ¸Þ¼Òµå¸¦ Ŭ¸¯ÇϽʽÿÀ.



Delegate Methods: 


ÀÌ Æ¯Â¡Àº ´ç½Å¿¡°Ô ÀÌ Å¬·¡½º¿¡¼­ Çʵå ÁßÀÇ 1°³ÀÇ ¸Þ¼Òµå·Î µ¿ÀÛÀ» À§ÀÓÇÏ´Â Çϳª ÀÌ»óÀÇ ¸Þ¼Òµå¸¦ »ý¼ºÇÏ´Â °ÍÀ» Çã¶ôÇÕ´Ï´Ù.
¿¹¸¦ À§ÇØ Å¬·¡½º AClass°¡ ÀÖ½À´Ï´Ù:

 

public class AClass {

     public int foo(int par1, int par2) {

         return par1 + par2;

     }

}


±×¸®°í BClass°¡ ÀÖ½À´Ï´Ù. ±×°ÍÀº AClass ¸Þ¼Òµå foo¸¦ À§ÀÓÇÏ´Â aClass Çʵ带 °®°í ÀÖ½À´Ï´Ù:

 

public class BClass {

    AClass aClass;

 

    //...

  

}

 

 ¸Þ¼Òµå À§Ä¡¸¦ À§ÀÓÇϱâ À§ÇØ ´ç½ÅÀÌ À§Ä¡Çϱ⸦ ¿øÇÏ´Â ¸Þ¼Òµå º¸µðµéÀÌ ÀÖ´Â ÀÌ ¸Þ¼Òµå¸¦ »ý¼ºÇÏ´Â °÷¿¡ Ŭ·¡½º¿Í ÇÔ²² ij·µÀ» ¹èÄ¡ÇϽʽÿÀ.  Code¸Þ´º¿¡¼­ Delegate Methods ¸¦ ¼±ÅÃÇϸé Select Targets to Generate Delegates for  ´ÙÀ̾ó·Î±×¸¦ ºÎ¸¨´Ï´Ù.




 
´ç½ÅÀº À§ÀÓÀÌ »ý¼ºµÉ Ÿ°ÙÀ» ¼±ÅÃÇÒ ¼ö ÀÖ½À´Ï´Ù.  ±×¸®°í Select Methods to Generate Delegates for °¡ ³ªÅ¸³³´Ï´Ù.



ÀÌ ´ÙÀ̾ó·Î±×¿¡ ´ç½ÅÀº ´ç½ÅÀÌ À§ÀÓÀÌ »ý¼ºµÇ±â ¹Ù¶ó´Â ¸Þ¼Òµå¸¦ ¼±ÅÃÇÒ ¼ö ÀÖ½À´Ï´Ù.
BClass°¡ Àû¿ëµÇ¾î¿Ô´ø ¸Þ¼Òµå À§ÀÓÈÄ¿¡ ´ÙÀ½À» º¼ °ÍÀÔ´Ï´Ù:

 
public class BClass {
    AClass aClass;
 
    public int foo(int par1, int par2) {
        return aClass.foo(par1, par2);
 
}


¸ðµç ÀÌ ´ÙÀ̾ó·Î±×ÀÇ Toolbar ´Â ±× °÷¿¡¼­ ±â¼úµË´Ï´Ù.