ÀÌ ¼½¼ÇÀº Convert to Instance
Method ¸®ÆÑÅ丵 À§¿¡¼ Æ÷°ýÀûÀÎ overview
¿Í how ÀÌ ¸®ÆÑÅ丵ÀÌ IntelliJ
IDEA¿¡¼ »ç¿ëµÉ ¼ö Àִ°¡¸¦ Á¦°øÇÕ´Ï´Ù.
Convert to Instance Method ¸®ÆÑÅ丵Àº Ãʱ⠸޼ҵåÀÇ Å¸ÀÔ ¸Å°³ º¯¼ö°¡ µÇ´Â Ŭ·¡½º¿Í ÇÔ²² ºñ Á¤Àû, Ŭ·¡½º ÀνºÅϽº ¸Þ¼Òµå¿¡ ÀÖ¾î¼ÀÇ Á¤ÀûÀÎ ¸Þ¼Òµå¸¦ º¯È¯Çϱâ À§ÇØ »ç¿ëµË´Ï´Ù.
¿¹¸¦ µé¸é, ¿ì¸®´Â ¸®ÆÑÅ丵 Àü¿¡ ´ÙÀ½ Äڵ带 °¡Áý´Ï´Ù:
public class MyClass {
ClassA classA = new ClassA();
ClassB classB = new ClassB();
static public void greatMethod(ClassA classA, ClassB classB){
System.out.println("classA = " + classA);
System.out.println("classB = " + classB);
}
public void myMethod(){
MyClass.greatMethod(classA, classB);
}
}
°Ô´Ù°¡ µÎ Ŭ·¡½º, ClassA ¿Í ClassB°¡ °°Àº ÆÐŰÁö¿¡ ÀÖ½À´Ï´Ù. Convert to Instance Method ¸®ÆÑÅ丵 ÀÌÈÄ ÄÚµå´Â ´ÙÀ½°ú °°ÀÌ º¼ °ÍÀÔ´Ï´Ù:
public class MyClass {
ClassA classA = new ClassA();
ClassB classB = new ClassB();
public void myMethod(){
classB.greatMethod(classA);
}
}
±×¸®°íClassB :
public class ClassB {
public void greatMethod(ClassA classA){
System.out.println("classA = " + classA);
System.out.println("classB = " + this );
}
}
1. º¯È¯À» Çϱâ À§ÇØ, ´ëü·Î ¼±¾ð ¶Ç´Â ¸®ÆÑÅä µÇ´Â ¸Þ¼ÒµåÀÇ »ç¿ë »ó¿¡¼ ij·µÀ» ¹èÄ¡ÇϽʽÿÀ. ¸Þ¼Òµå´Â ¹Ýµå½Ã Á¤ÀûÀÏ °ÍÀÌ°í ±× ¸Å°³ º¯¼ö´Â ´ç½ÅÀÇ ÇÁ·ÎÁ§Æ®·ÎºÎÅÍ Å¬·¡½º ŸÀÔÀÏ °ÍÀÓ¿¡ Ʋ¸²¾ø½À´Ï´Ù. ¹Ù²Ù¾î ¸»Çϸé, ´ç½ÅÀº ¸®ÆÑÅ丵¿¡ ´ëÇÑ StringŸÀÔÀ¸·Î¼ ±×·± ¸Å°³ º¯¼ö¸¦ »ç¿ëÇÒ ¼ö ¾ø°í ±×°ÍµéÀº ½ÉÁö¾î °í·ÁµÇÁö ¾Ê½À´Ï´Ù.
±×¸®°í ÁÖ ¸Þ´º ¶Ç´Â ¿¡µðÅÍ¿¡¼ ¿À¸¥ÂÊ ¹öưÀ» Ŭ¸¯ÇÏ´Â °Í¿¡ ÀÇÇØ ºÒ·ÁÁö´Â ÆË¾÷ ¸Þ´º¿¡¼ Refactor
| Convert
to Instance Method... Ç׸ñÀ» Ŭ¸¯ÇϽʽÿÀ. ´ÙÀ½ÀÇ Convert
to Instance Method ´ÙÀ̾ó·Î±×°¡ ³ªÅ¸³³´Ï´Ù:

2. Select
an instance parameter ÅØ½ºÆ® Çʵ忡¼, º¯È¯µÈ ¸Å°³ º¯¼ö À̸§À» ÁöÁ¤ÇϽʽÿÀ.
3. ¸Þ¼Òµå´Â ¼±ÅÃÇÑ ¸Å°³ º¯¼ö(ClassB)¿¡ ºÎÇÕÇϴ Ŭ·¡½º·Î ¿Å°ÜÁý´Ï´Ù. Á¤ÀûÀÎ ¸Þ¼Òµå·ÎÀÇ ÄÝÀº Ŭ·¡½º ÀνºÅϽº ¸Þ¼Òµå·ÎÀÇ ÄÝ¿¡ º¯°æµË´Ï´Ù. ±×¸®°í ClassB ÀνºÅϽº·ÎÀÇ ÄÝÀº thisÀ» À§ÇØ º¯°æµË´Ï´Ù.
¸¸ÀÏ º¯È¯µÈ ¸Å°³ º¯¼ö°¡ null À̶ó¸é, ´ç½Å¿¡°Ô ´ÙÀ½ÀÇ °æ°í°¡ ÇÁ·ÒÇÁÆ® µÉ °ÍÀÔ´Ï´Ù.

»ý¼º ÄÚµå´Â À߸øµÉ °ÍÀÔ´Ï´Ù.
±×·¯³ª, ¸¸ÀÏ ¼±ÅÃÇÑ ¸Å°³ º¯¼ö°¡ null·Î¼ »ý¼ºµÇÁö ¾ÊÀ¸¸é ±×°ÍÀº ´õ ±³¹¦ÇÒÁöµµ ¸ð¸¨´Ï´Ù ±×·¯³ª ±×°ÍÀº null ÀÔ´Ï´Ù(null ÀÌ ¸Þ¼Òµå ¸®ÅÏ °ªÀÎ °Í ó·³). ´ç½ÅÀº ±×·± °æ¿ì¿¡¼ ½ÅÁßÇØ¾ß¸¸ ÇÕ´Ï´Ù. IDEAÀº ±×°ÍÀ» ÀνÄÇÒ ¼ö ¾ø°í ¸®ÆÑÅ丵Àº ¸Å²ô·´°Ô ÀÛµ¿ÇÒ °ÍÀÔ´Ï´Ù. ÄÚµå´Â ½ÉÁö¾î ÄÄÆÄÀÏ µÉ ¼öµµ ÀÖÁö¸¸ ÀûÀýÇÏ°Ô ½ÇÇàµÇÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù.
|