Static Import
Static Import 기능은 클래스안에 있는 정적 상수를 상속 없이 사용이 가능하게 해줍니다. 아래의 예를 보면 1.5 이전에는 BorderLayout.CENTER 로 사용해야 하지만 이제는 CENTER만 적어주면 자동으로 참조 합니다. import static java.awt.BorderLayout.*; |
Jini Say
필자가 생각하는 별 필요 없는 1.5의 기능 중에 하나라고 생각한다. 이 기능을 에디터에서 지원하기 위해서 쓸 때 없는 오버해드만 발생할 것이다.
2004-04-08 15:46:10.0 (highfive 203.224.101.26) D |
저같은 경우는 상수를 쓰기 위해 extends, implements 할 생각은 못했었기 때문에 어차피 static이라는 점을 이용해서 class 이름.상수명 의 식으로 사용을 해 왔는데 해당 상수를 많이 사용하고 그 클래스 이름이 좀 길거나 할때는 치기도 귀찮을뿐더러 가독성이 좀 떨어졌거든요...
2004-04-09 20:40:57.0 (jini 219.248.234.145) D |
static final int CENTER=1;
}
Class B{
static final int CENTER=2;
}
import static A.*;
import static B.*;
if(CENTER==2)System.out.println("CENTER is 2");
모호성이 발생하네요. 물론, 에러로 처리되겠지만.. 또한 IDE의 에디터에서 CENTER의미를 static import 클래스 전체에서 찾아야 하는 막대한 오버헤드가 생깁니다.