강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của vkdnj4111372
vkdnj4111372

câu hỏi đã được viết

Khóa học giới thiệu về lập trình Java (renew ver.) - Từ người mới bắt đầu đến việc làm nhà phát triển!!

Các lớp bên trong và các lớp ẩn danh

내부클래스 객체선언질문

Viết

·

211

2

'OutterClass.InnerClass in = oc. new InnerClass();'

'OutterClass.SInnerClass si = new OutterClass.InnerClass();'

이렇게 선언하는 부분이이 다른데 이유가 있나요?

static내부클래스 선언할때 oc.new SInnerClass(); 이렇게 선언하면 안되나요?

java

Câu trả lời 1

0

밑에 질문의 답변과 비슷한 내용이 될 것 같습니다. 생성하신 in객체는 OuterClass안에 있는 모든 객체가 사용할 수 없습니다. 그러나 static 클래스는 다르죠. in 객체는 OuterClass.InnerClass에서 밖에 사용할 수 없는 반면 static Class는 OuterClass 안에있는 모든 클래스들이 공유할 수 있어야 합니다. 그래서 OuterClass.SInnerClass로 따로 설정해주는 것입니다. oc.new SInnerClass()로 설정한다면 OuterClass에서 만든 객체 oc에 한정되어 객체가 생성될 것이기 때문에 static으로서의 의미가 사라질 것입니다.

Hình ảnh hồ sơ của vkdnj4111372
vkdnj4111372

câu hỏi đã được viết

Đặt câu hỏi