본문 바로가기
Back-End/Java

[Back-End][Java] 33. 내부 클래스 Inner Class

by nanee_ 2021. 9. 16.
728x90
반응형
SMALL

내부 클래스 Inner Class

: 클래스 내부에 클래스를 선언하여 외부 클래스의 필드 접근에 용이하기 위한 클래스이다.

내부 클래스의 필드를 사용하기 위해서는 외부클래스에서 내부클래스를 객체화 해야한다.

 

객체화 하는 방법

외부클래스명 (외)객체명 = new 외부클래스생성자( );

외부클래스명.내부클래스명 (내)객체명 = 외부클래스객체명.new 내부클래스생성자( );

// 내부클래스에 접근하기
OutClass out = new OutClass();
OutClass.InnerClass in = out.new InnerClass(); // 내부클래스 필드에 접근

 

 

내부클래스를 사용하는 이유

- 캡슐화가 가능하다.

 

A클래스에 b라는 작업이 자주 쓰이고, 이 작업은 B클래스에서 만들어야 쉽게 관리할 수 있지만, 다른 클래스에서는 b작업이 필요없거나 B클래스를 외부로 노출시키고 싶지 않을 때 사용한다.

 

- GUI 개발에 용이하다.

 

a,b 버튼 각각의 기능이 다르다면, 클래스를 별도로 만드는 것 보다 내부 클래스로 만들어서 사용하는 것이 적합하다.

 

 

작업파일 확인 방법

작업폴더 > 프로젝트폴더 > 패키지폴더 > 클래스폴더 > bin

내부클래스는 외부클래스명$내부클래스명.class 의 형태로 저장된다.

 

 

 

 

 

 

 

 

 

 

728x90
반응형
LIST