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

조회수 4495회

발생하는 문제 및 실행환경

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

1 답변

  • 좋아요

    0

    싫어요
    채택 취소하기

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

        OuterClass.StaticNestedClass
    

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

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

    객체를 만들수 있어요.

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

        OuterClass outerObject = new OuterClass();
        OuterClass.InnerClass innerObject = outerObject.new InnerClass();
    

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)