자바 내부 클래스(inner class) 

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

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

 

: 내부 클래스는 GUI(Graphic User Interface) 개발시 많이 사용된다.

  예를 들어 a라는 버튼과 b라는 버튼이 있다고 하자.

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

 

※ 사용이유 : 캡슐화를 하기 위해서.

 

캡슐화 

: A클래스에서 b라는 작업이 자주 쓰이고, 이 작업은 B 클래스를 만들어야 쉽게 관리할 수 있음.

 하지만 다른 클래스에서 b작업이 필요 없거나, B클래스를 외부에 노출시키고 싶지 않을 때 사용한다.