자바에서 내부 클래스랑 정적 내부클래스의 차이가 뭔가요?
조회수 4495회
1 답변
-
중첩클래스는 두가지로 분류돼요. 하나는 정적 하나는 비정적. 정적인 중첩을래스를 일반적으로 정적 내부클래스라고 하고 비정적인걸 내부클래스라고하죠.
OuterClass.StaticNestedClass
이처럼 보통 정적내부클래스는 클래스명으로 접근이 가능해요. 그래서 바깥 클래스의 객체가 없어도
OuterClass.StaticNestedClass nestedObject = new OuterClass.StaticNestedClass();
객체를 만들수 있어요.
그에비해서 내부클래스는 밑에처럼 내부클래스를 둘러싼 바깥 클래스의 객체가 있어야 객체를 생성할수 있어요.
OuterClass outerObject = new OuterClass(); OuterClass.InnerClass innerObject = outerObject.new InnerClass();
댓글 입력