Unused DeclarationÀº IDEA°¡ ¼³¸íÇß´ø ±âÁ¸ ÁøÀÔÁ¡ÀÇ ¾î¶² °ÍÀ¸·ÎºÎÅÍ µµ´ÞµÉ ¼ö ¾ø´Â ´ç½ÅÀÇ Äڵ忡¼ Ŭ·¡½º¿Í Ŭ·¡½º ¸â¹ö¸¦ À§ÇØ Å½»öÇÕ´Ï´Ù.

|
ÁøÀÔÁ¡Àº ÇÁ·Î±×·¥ ½ÇÇà¿¡ µû¶ó Á¦¾î¸¦ ¸íÈ®È÷ ¾ò´Â ÄÚµåÀÔ´Ï´Ù. ¸ðµç ÁøÀÔÁ¡Àº Entry
Points ÅÇÀÇ ¸ñ·Ï¿¡¼ ³ªÅ¸³³´Ï´Ù. ¸ñ·ÏÀº Ãß°¡µÇ°Å³ª(Unreachable
code ÄÚµå ÅÇÀÇ ¹®¸Æ ¸Þ´º), Á¦°ÅµÉ(Entry
PointsÀÇ ¹®¸Æ ¸Þ´º) Ç׸ñÀ» Ç¥½ÃÇÕ´Ï´Ù.
|
Unused Declaration ´Â ´ÙÀ½ ¿É¼ÇÀ» °¡Áý´Ï´Ù:
ÀÚµ¿ÀûÀ¸·Î ¸ðµç void main(String args[]) ¸Þ¼Òµå¸¦ ÁøÀÔÁ¡¿¡ Ãß°¡ÇϽʽÿÀ
|
¸¸ÀÏ ÀÌ Ã¼Å© ¹Ú½º°¡ ¼±ÅõǾú´Ù¸é, °Ë»ç´Â ÁøÀÔÁ¡À¸·Î¼ ´ç½ÅÀÇ Äڵ忡¼ ¸ðµç void main(String args[]) ¸Þ¼Òµå¸¦ °í·ÁÇÒ °ÍÀÔ´Ï´Ù.
|
ÀÚµ¿ÀûÀ¸·Î ¸ðµç JUnit Å×½ºÆ® ÄÉÀ̽º¸¦ ÁøÀÔÁ¡¿¡ Ãß°¡ÇϽʽÿÀ
|
¸¸ÀÏ ÀÌ Ã¼Å© ¹Ú½º°¡ ¼±ÅõǾú´Ù¸é, °Ë»ç´Â ÁøÀÔÁ¡À¸·Î¼ ´ç½ÅÀÇ Äڵ忡¼ ¸ðµç JUnit Å×½ºÆ® ÄÉÀ̽º¸¦ °í·ÁÇÒ °ÍÀÔ´Ï´Ù.
|
ÀÚµ¿ÀûÀ¸·Î ¸ðµç ¾ÖÇø´À» ÁøÀÔÁ¡¿¡ Ãß°¡ÇϽʽÿÀ
|
¸¸ÀÏ ÀÌ Ã¼Å© ¹Ú½º°¡ ¼±ÅõǾú´Ù¸é, °Ë»ç´Â ÁøÀÔÁ¡À¸·Î¼ ´ç½ÅÀÇ Äڵ忡¼ ¸ðµç ¾ÖÇø´À» °í·ÁÇÒ °ÍÀÔ´Ï´Ù.
|
ÀÚµ¿ÀûÀ¸·Î ¸ðµç ¼ºê¸´À» ÁøÀÔÁ¡¿¡ Ãß°¡ÇϽʽÿÀ
|
¸¸ÀÏ ÀÌ Ã¼Å© ¹Ú½º°¡ ¼±ÅõǾú´Ù¸é, °Ë»ç´Â ÁøÀÔÁ¡À¸·Î¼ ´ç½ÅÀÇ Äڵ忡¼ ¸ðµç ¼ºê¸´À» °í·ÁÇÒ °ÍÀÔ´Ï´Ù.
|
ÀÚµ¿ÀûÀ¸·Î
non-java ÆÄÀÏ¿¡¼ »ç¿ëÀ» °¡Áö´Â Ŭ·¡½º¸¦ ÁøÀÔÁ¡¿¡ Ãß°¡ÇϽʽÿÀ
|
¸¸ÀÏ ÀÌ Ã¼Å© ¹Ú½º°¡ ¼±ÅõǾú´Ù¸é, °Ë»ç´Â ÁøÀÔÁ¡À¸·Î¼
non-java ÆÄÀÏ¿¡¼ ¸ðµç Ŭ·¡½º¸¦ °í·ÁÇÒ °ÍÀÔ´Ï´Ù.
|
|
¸¸ÀÏ Unused Declaration üũ ¹Ú½º°¡ ¼±ÅõǾú°í Inspection ÀÌ ¾î¶² ¹®Á¦¶óµµ ¹ß°ßÇϸé, InspectionÅø À©µµ¿ì´Â Unused code ÅÇÀ» Ç¥½ÃÇÕ´Ï´Ù. ÀÌ ÅÇÀº 2 ³»ºÎ ÅÇÀ» °¡Áý´Ï´Ù: Unreachable
code ÄÚµå ÅÇÀº µµ´ÞµÉ ¾ø´Ù°í ÀǽɵǴ ±× Ŭ·¡½º¿Í Ŭ·¡½º ¸â¹ö¸¦ Æ÷ÇÔÇÕ´Ï´Ù. ±×¸®°í Entry points ÅÇÀº ´ç½Å¿¡°Ô ¸ðµç ÄÚµå ÁøÀÔÁ¡À» °¡¸®ÄÑ ÁÝ´Ï´Ù.
µµ´ÞÇÒ ¼ö ¾ø´Â ÄÚµå ³»ºÎ ÅÇ
|
Unreachable
code ÄÚµå ³»ºÎ ÅÇ¿¡¼ Ç׸ñÀ» ¿À¸¥ÂÊ ¹öưÀ» Ŭ¸¯ÇÏ´Â °Í¿¡ ÀÇÇØ ºÒ·ÁÁö´Â ¹®¸Æ ¸Þ´º´Â ´ç½Å¿¡°Ô ¸î °³ÀÇ ¹®Á¦ ÇØ°á°ú ÇÔ²² ÇÁ·ÒÇÁÆ®ÇÕ´Ï´Ù. ´ç½ÅÀº ÀÌ Ç׸ñÀ» ÁøÀÔÁ¡ ¸ñ·Ï¿¡ Ãß°¡ÇÒ ¼ö Àְųª, ±×°ÍÀ» ¿µ±¸ÀûÀ¸·Î »èÁ¦ÇÒ ¼ö Àְųª, ±×°ÍÀ» ÁÖ¼®ÇÒ ¼ö ÀÖ½À´Ï´Ù.

|
ÁøÀÔÁ¡ ¸ñ·ÏÀ¸·Î Ç׸ñÀ» Ãß°¡ÇÏ¸é µµ´Þ µÇ´Â °Í¿¡ °ü·ÃµÈ ÀÌ Ç׸ñÀÇ ¹üÀ§¸¦ ÃÊ·¡ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×¸®°í ±×·± µµ´ÞÇÒ ¼ö ¾ø´Â Ç׸ñÀÇ ºÐ±â´Â Æ®¸® º¸±â·ÎºÎÅÍ Áï½Ã »ç¶óÁú °ÍÀÔ´Ï´Ù.
|
ºê¶ó¿ìÀú À©µµ¿ì´Â ´ÙÀ½ ºÎ°¡ÀÇ Çʵ带 ´ç½Å¿¡°Ô Æ®¸® º¸±â¿¡¼ ¼±ÅÃµÈ Ç׸ñ¿¡ °üÇÑ Á¤º¸¸¦ Á¦°øÇϵµ·Ï ÇÒ ¼ö ÀÖ½À´Ï´Ù.
Uses the
following
|
Æ®¸® º¸±â¿¡¼ ¼±ÅÃµÈ Å¬·¡½º³ª Ŭ·¡½º ¸â¹ö°¡ ¾î¶² »ç¿ëÀ» °¡Áö´ÂÁö ´ç½Å¿¡°Ô ¾Ë¸®°í, ÀÌ Àͼ÷ÇÑ Ç׸ñ À§¿¡¼ ´ç½Å¿¡°Ô ÀϺΠºÎ°¡ Á¤º¸¸¦ ÁÝ´Ï´Ù. Ç׸ñ¸íÀ» Ŭ¸¯ÇÏ¸é ´ç½ÅÀº ¿¡µðÅÍ¿¡¼ ±×°Í¿¡ ³×ºñ°ÔÀÌÆ®ÇÏ°í ±× À̸§ À§¿¡¼ ij·µÀ» ¹èÄ¡ÇÕ´Ï´Ù.
|
Used from
|
¾îµð¿¡ Ŭ·¡½º³ª Ŭ·¡½º ¸â¹ö°¡ »ç¿ëµÇ°í ÀÖ´ÂÁö ´ç½Å¿¡°Ô ¾Ë¸³´Ï´Ù; Æ®¸® º¸±â¿¡¼ ±×°ÍÀ» ¼±ÅÃÇϸé ÀÌ Æ¯º°ÇÑ Ç׸ñ¿¡ ´ëÇÏ¿© ´ç½Å¿¡°Ô ÀϺΠºÎ°¡ Á¤º¸¸¦ ÁÝ´Ï´Ù. Ç׸ñ¸íÀ» Ŭ¸¯ÇÏ¸é ´ç½ÅÀº ¿¡µðÅÍ¿¡¼ ±×°Í¿¡ ³×ºñ°ÔÀÌÆ®ÇÏ°í ±× À̸§ À§¿¡¼ ij·µÀ» ¹èÄ¡ÇÕ´Ï´Ù.
|
Derived methods
|
Ŭ·¡½º¿¡¼ ºñ·ÔµÇ´Â ¸Þ¼Òµå¿¡ ´ëÇÏ¿© ¸â¹ö°¡ Æ®¸® º¸±â¿¡¼ ¼±ÅÃÇß´ø °ÍÀ» ´ç½Å¿¡°Ô ¾Ë¸³´Ï´Ù.
|
Instantiated
from
|
Æ®¸® º¸±â¿¡¼ ¼±ÅÃµÈ Å¬·¡½ºÀÇ ¹ß°ßµÈ ÀνºÅϽº »ý¼º À§¿¡¼ ´ç½Å¿¡°Ô ¾Ë·ÁÁÝ´Ï´Ù.
|
Overrides
library methods
|
Æ®¸® º¸±â¿¡¼ ¼±ÅÃµÈ Å¬·¡½º ¸â¹ö°¡ ´ë·« ¾î¶² ¶óÀ̺귯¸® ¸Þ¼Òµå¸¦ µ¤¾î ¾²´ÂÁö ´ç½Å¿¡°Ô ¾Ë¸³´Ï´Ù.
|
Overrides/implements
|
´ç½Å¿¡°Ô Æ®¸® º¸±â¿¡¼ ¼±ÅÃµÈ Å¬·¡½º ¸â¹ö°¡ ¿À¹ö¶óÀÌµå ¶Ç´Â ±¸ÇöÀ» ¾Ë·ÁÁÝ´Ï´Ù.
|
Extends/implements
|
´ç½Å¿¡°Ô Æ®¸® º¸±â¿¡¼ ¼±ÅÃµÈ Å¬·¡½º°¡ È®ÀåÇÏ´Â °Í ¶Ç´Â ±¸ÇöÀ» ¾Ë·ÁÁÝ´Ï´Ù.
|
|
ÀÌ ÅÇ Æ®¸® º¸±â¿¡¼ Ç׸ñÀ» ¿À¸¥ÂÊ ¹öưÀ» Ŭ¸¯ÇÏ´Â °Í¿¡ ÀÇÇØ ºÒ¸®´Â ¹®¸Æ ¸Þ´º´Â ´ç½Å¿¡°Ô ÁøÀÔÁ¡ ¸ñ·ÏÀ¸·ÎºÎÅÍ ¼±ÅÃµÈ Ç׸ñÀ» »èÁ¦ÇÏ´Â °ÍÀ» Çã¶ôÇÕ´Ï´Ù.
¿¹¸¦ µé¸é, ´ÙÀ½ Ŭ·¡½º¸¦ °Ë»çÇÕ´Ï´Ù:
public class AClass {
void method1(){
//some code here
}
void method2(){
method1();
}
void method3(){
method2();
}
void method4(){
//some code here
}
public static void main(String[] args) {
AClass aClass = new AClass();
aClass.method4();
}
}
Inspection ÀÌ Àû¿ëµÇ°í ³ ÈÄ¿¡, ´ÙÀ½ Åø À©µµ¿ì´Â ³ªÅ¸³¯ °ÍÀÔ´Ï´Ù.

method3()´Â °áÄÚ ºÒ·ÁÁöÁö ¾Ê°í, ±×·¯¹Ç·Î ¹Ì»ç¿ë ¼±¾ðÀ¸·Î¼ Ç¥½ÃµË´Ï´Ù. ¶ÇÇÑ, method1()°ú method2() ´Â Ŭ·¡½º ÁøÀÔÁ¡À¸·ÎºÎÅÍ µµ´ÞµÇÁö ¾Ê½À´Ï´Ù.
|