Inner Class
1. inner member class
2. inner local class
3. anonymous inner class
1. inner member class
- 클래스를 구성하는 필드, 메서드와 같이 클래스가 구성하는 멤버가 될 수 있음
- 내부의 클래스에서 바깥쪽 클래스의 자원을 별도의 작업없이 직접 사용할 수 있음
※ 반대로 외부 클래스에서 내부 자원을 사용하기 위해서는 내부 클래스를 객체화한 후에 사용할 수 있음
<inner member class>
2. inner local class
- 내부의 로컬 변수와 같은 수준
- 메서드 내부에 클래스를 정의
- 메서드 내부에서만 로컬 변수처럼 클래스를 사용할 때: 따라서 메서드 실행 종료 후 자동으로 소멸
<inner local class>
3. anonymous inner class (android 개발시 자주 사용)
- 클래스의 이름이 없는 내부 클래스
- 생성자를 가질 수 없음
- 클래스를 값으로 사용하는 클래스