ÀÌ ¼½¼ÇÀº ´ç½Å¿¡°Ô Convert
Anonymous to Inner ¸®ÆÑÅ丵 »ó¿¡¼ Æ÷°ýÀûÀÎ overview¿Í how ÀÌ ¸®ÆÑÅ丵ÀÌ IntelliJ IDEA¿¡¼ »ç¿ëµÉ ¼ö Àִ°¡¸¦ Á¦°øÇÕ´Ï´Ù.
Convert Anonymous to Inner ¸®ÆÑÅ丵Àº À͸íÀÇ Å¬·¡½º¸¦ À̸§ÀÖ´Â ³»ºÎÀÇ °ÍÀ¸·Î ¹Ù²Ù±â À§ÇØ »ç¿ëµË´Ï´Ù. ¸¸ÀÏ À͸íÀÇ Å¬·¡½º°¡ ¿ÜºÎ ¸Þ¼Òµå·ÎºÎÅÍÀÇ ¾î¶² ·ÎÄà º¯¼ö·Î »ç¿ëÇϰí, »ý¼ºµÈ ³»ºÎÀÇ Å¬·¡½ºÀÇ »ý¼ºÀÚ¿¡¼ ¸Å°³ º¯¼ö·Î¼ °Ç³×Áö´Â °ÍÀ» Á¦¾ÈÇÑ´Ù¸é, IDEA´Â ÀÚµ¿ÀûÀ¸·Î °¨ÁöÇÕ´Ï´Ù. ±× °á°ú, »õ·Î¿î À̸§ÀÖ´Â ³»ºÎ Ŭ·¡½º°¡ ¼±¾ðµÇ°í À͸íÀÇ Å¬·¡½º ÄÚµå´Â ³»ºÎ Ŭ·¡½º ÀνºÅϽº »ý¼ºÀ¸·Î ±³Ã¼µË´Ï´Ù.
¿¹¸¦ µé¸é, ¿ì¸®´Â
¸®ÆÑÅ丵 Àü¿¡ ´ÙÀ½ Äڵ带 °¡Áý´Ï´Ù:
public class OuterClass {
public AnInterface foo() {
final int local = 1;
return new AnInterface() {
public int function() { return local; }
};
}
}
ÀÎÅÍÆäÀ̽º AnInterface°¡
¼±¾ðµÈ °÷:
public interface AnInterface {
int function();
}
Convert Anonymous to Inner ¸®ÆÑÅ丵 ÀÌÈÄ ÄÚµå´Â ´ÙÀ½°ú °°ÀÌ º¸ÀÏ °ÍÀÔ´Ï´Ù:
public class OuterClass {
public AnInterface foo() {
final int local = 1;
return new TheClass(local);
}
...//some code here
private class TheClass implements AnInterface {
private final int local;
public TheClass( int local) {
this. local = local;
}
public int function() {
return local;
}
}
}
Converting
Anonymous to Inner
|
1. À͸íÀÇ Å¬·¡½º¸¦ ³»ºÎÀÇ °ÍÀ¸·Î ¹Ù²Ù±â À§ÇØ, ¸®ÆÑÅäµÈ ³»ºÎ Ŭ·¡½º ³»ºÎ ¾î´À °÷¿¡ ij·µÀ» ¹èÄ¡ÇϽʽÿÀ. ±×¸®°í ÁÖ ¸Þ´º¿¡¼ ¶Ç´Â ¿¡µðÅÍ¿¡¼ ¿À¸¥ÂÊ ¹öưÀ» Ŭ¸¯ÇÏ¿© ºÒ·ÁÁö´Â ÆË¾÷ ¸Þ´º¿¡¼ Refactor | Convert
Anonymous to Inner... Ç׸ñÀ» Ŭ¸¯ÇÕ´Ï´Ù. ´ÙÀ½ÀÇ Convert
Anonymous to Inner°¡ ³ªÅ¸³³´Ï´Ù:

2. Class
name ÅØ½ºÆ® Çʵ忡¼, »õ·Î¿î Ŭ·¡½ºÀÇ À̸§À» ÁöÁ¤ÇϽʽÿÀ.
3. Parameters ¸ñ·Ï¿¡¼:
´ç½ÅÀÌ ³Ñ°ÜÁö´Â Ưº°ÇÑ º¯¼ö¸¦ Á¦¿ÜÇÒ ¼ö ÀÖ´Â »óÀÀÇÑ Ã¼Å©¹Ú½º¸¦ ¼±ÅÃ ÇØÁ¦ÇÏ´Â °Í¿¡ ÀÇÇØ »ý¼ºÀÚ ¸Å°³ º¯¼ö·Î¼ ³Ñ°ÜÁö´Â º¯¼ö°¡ ÁÖ¾îÁý´Ï´Ù; ¸¸ÀÏ ¸Å°³ º¯¼ö°¡ ºÒ°¡´ÉÇϸé, »óÀÀÇϴ ŸÀÔÀÇ Çʵå´Â ³»ºÎ Ŭ·¡½º¿¡¼ »ý¼ºµÉ °ÍÀ̰í, ÃʱⰪ°ú ÇÔ²² »ý¼ºÀÚ¿¡¼ Ãʱ⠻óÅ·Πº¯ÇÒ °Í ÀÔ´Ï´Ù. ±×·¡¼ ´ç½ÅÀÌ ÀûÀýÇÑ °ªÀ¸·Î À̴ϼȶóÀÌÀú¸¦ ¼öµ¿À¸·Î ÀÔ·ÂÇØ¾ß¸¸ ÇÒ °ÍÀÔ´Ï´Ù.
¿øÇÏ´Â ¸Å°³ º¯¼ö´Â »óÀÀÇÏ´Â ¸Å°³ º¯¼ö ¶óÀÎÀ» ´õºí Ŭ¸¯Çϰí, »õ·Î¿î À̸§À» ÀÔ·ÂÇÏ¿© À̸§ÀÌ ¹Ù²ãÁú ¼ö ÀÖ½À´Ï´Ù.
4. »ý¼ºÀÚ¿¡ ³Ñ¾î°¡´Â ¸Å°³ º¯¼öÀÇ ¼ø¼¸¦ ÁöÁ¤Çϱâ À§ÇØ Move
up °ú Move down À» »ç¿ëÇÕ´Ï´Ù.
5. OK ¸¦ Ŭ¸¯ÇϽʽÿÀ. »õ·Î¿î À̸§ÀÖ´Â ³»ºÎ Ŭ·¡½º°¡ »ý¼ºµÉ °ÍÀÔ´Ï´Ù. ±×¸®°í À͸íÀÇ Å¬·¡½º°¡ ÀÖ´Â ÄÚµå ÇÁ·¡±×¸ÕÆ®´Â ³»ºÎ Ŭ·¡½º ÀνºÅϽº »ý¼ºÀ¸·Î ±³Ã¼µÉ °ÍÀÌ°í ¶ÇÇÑ À̸§ÀÖ´Â ³»ºÎ Ŭ·¡½ºÀÇ ¼±¾ðÀº °á°ú Äڵ忡 Ãß°¡µÉ °ÍÀÔ´Ï´Ù.
|