자바에서 내부 클래스랑 정적 내부클래스의 차이가 뭔가요?


발생하는 문제 및 실행환경

내부 클래스랑 정적내부클래스의 주된 차이점이 뭘까요?? 그냥 디자인 설계의 차이인가요?

  • 2016년 01월 05일에 작성됨

조회수 278


1 답변


좋아요
0
싫어요
채택취소하기

중첩클래스는 두가지로 분류돼요. 하나는 정적 하나는 비정적. 정적인 중첩을래스를 일반적으로 정적 내부클래스라고 하고 비정적인걸 내부클래스라고하죠.

    OuterClass.StaticNestedClass

이처럼 보통 정적내부클래스는 클래스명으로 접근이 가능해요. 그래서 바깥 클래스의 객체가 없어도

    OuterClass.StaticNestedClass nestedObject = new OuterClass.StaticNestedClass();

객체를 만들수 있어요.

그에비해서 내부클래스는 밑에처럼 내부클래스를 둘러싼 바깥 클래스의 객체가 있어야 객체를 생성할수 있어요.

    OuterClass outerObject = new OuterClass();
    OuterClass.InnerClass innerObject = outerObject.new InnerClass();
  • 2016년 01월 05일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close