1. 내부클래스(inner class)
클래스 내에 선언된 클래스 (서로 긴밀한 관계가 있음)
장점 : 내부 클래스에서 외부 클래스의 멤버들을 쉽게 접근할 수 있음
코드의 복잡성을 줄일 수 있음(캡슐화)
2. 내부클래스 종류와 특징
변수의 선언위치에 따라 // 인스턴스 변수, 클래스 변수, 지역변수로 나누는 것처럼
클래스의 선언위치에 따라 // 인스턴스 클래스, 스태틱 클래스, 지역 클래스, 익명 클래스로 나뉜다.
3. 내부클래스의 선언
class Outer {
class InstanceInner {} // 인스턴스 클래스
static class StaticInner {} // 스태틱 클래스
void myMethod(){
class LocalInner {} // 지역 클래스
}
}
4. 내부클래스의 제어자와 접근성
인스턴스(Instance) 클래스와 스태틱(Static) 클래스는 외부클래스의 멤버변수와 같은 위치에 선언된다.
5. 익명클래스(anonymous class)
클래스에 이름이 없다.
클래스의 선언과 객체의 생성을 동시에 하기 때문에 한번만 사용될 수 있다. (일회용 클래스)
new 조상클래스 이름 () {
// 멤버변수 선언 //
}
또는
new 구현 인터페이스 이름 () { // 멤버변수 선언 //
}
이름이 없기 때문에 생성자도 없다.
'프로그래밍 > JAVA' 카테고리의 다른 글
[JAVA] StringBuilder & StringBuffer, Math, Wrapper 클래스 (0) | 2016.08.25 |
---|---|
[JAVA] String 클래스 (0) | 2016.08.25 |
[JAVA} Object 클래스 (1) | 2016.08.09 |
[JAVA} 예외처리(Exceptpion Handing) (0) | 2016.08.07 |
[JAVA] 인터페이스(Interface) (1) | 2016.08.04 |