위 에러는 클래스를 인스턴스화(객체화) 시키지 않고 내부 클래스를 접근할 때 발생한다.
예를 들어,
class Foo
{
{
class Bar
{
}
}
Bar bar = new Foo.Bar();
위와 같이 사용하였을 경우 에러가 난다.
또 빈번하게 에러가 나는 경우가 있다.
비슷한 맥락이지만, 메소드를 static으로 선언해 주고 static이 아닌 내부 클래스를 접근할 경우동일한 에러가 발생된다.
class Foo
{
{
class Bar
{
}
static void Test()
{
new Bar() ....
}
}
이유는 동일하다. 내부 클래스는 외부 클래스 생성시에 생성되기 때문이다.
댓글 없음:
댓글 쓰기