티스토리 뷰

 
위 에러는 클래스를 인스턴스화(객체화) 시키지 않고 내부 클래스를 접근할 때 발생한다.

예를 들어,

class Foo
{
class Bar
{

}
}


Bar bar = new Foo.Bar();


위와 같이 사용하였을 경우 에러가 난다.

또 빈번하게 에러가 나는 경우가 있다.


비슷한 맥락이지만, 메소드를 static으로 선언해 주고 static이 아닌 내부 클래스를 접근할 경우동일한 에러가 발생된다.

class Foo
{
class Bar
{

}

static void Test()
{
new Bar() ....
}

}


이유는 동일하다. 내부 클래스는 외부 클래스 생성시에 생성되기 때문이다.
댓글