Java2005. 3. 22. 10:29

Static Import

Static Import 기능은 클래스안에 있는 정적 상수를 상속 없이 사용이 가능하게 해줍니다. 아래의 예를 보면 1.5 이전에는 BorderLayout.CENTER 사용해야 하지만 이제는 CENTER 적어주면 자동으로 참조 합니다.
import static java.awt.BorderLayout.*;getContentPane().add(new JPanel(), CENTER);


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

Class A{
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 클래스 전체에서 찾아야 하는 막대한 오버헤드가 생깁니다.

Posted by la30321