반응형
1. 중첩 클래스 (Nested Class)
- 클래스의 내부에 정의되는 클래스를 중첩 클래스(nested class)라고 한다.
- 중첩 클래스는 정적 클래스(Static Class)와 내부 클래스(Inner Class)로 분류할 수 있다.
2. 정적 클래스 (Static Class)
- 독립적으로 오브젝트로 만들어질 수 있는 클래스로, new 키워드를 사용해서 객체를 생성할 수 없다. 대신, 클래스명 자체를 사용하여 접근할 수 있다.
3. 내부 클래스 (Inner Class)
- 내부 클래스를 이용하면 외부 클래스의 멤버에 쉽게 접근할 수 있다.
- 클래스의 캡슐화 : 외부에서 불필요한 클래스를 은닉하여 코드의 복잡성과 클래스 파일을 줄일 수 있다.
- 내부 클래스에서 외부의 변수를 사용할 때는 외부의 변수를 반드시 final로 선언해줘야 한다.
- 내부 클래스로는 3가지 종류가 있다.
* Member Class : 멤버 필드처럼 오브젝트 레벨에 정의되는 클래스다.
* Local Class : 메소드 레벨에 정의되는 클래스로, 선언된 메소드 내에서만 사용할 수 있다.
* Anonymous Class : 말 그대로 이름을 갖지 않는 클래스다. 다음과 같이 클래스 선언과 오브젝트 생성이 같이 이루어진다는 특징이 있다.
익명 클래스 예시 1
ExampleObject eo = new 인터페이스명() {
// 이 곳에 멤버 변수, 메소드 등 클래스의 본문을 작성한다.
}
익명 클래스 예시 2
ExampleObject eo = new ExampleObject();
// 파라미터 자리에 직접 오브젝트를 생성해서 넘긴다.
eo.exampleMethod(
new 인터페이스명() {
// 이 곳에 멤버 변수, 메소드 등 클래스의 본문을 작성한다.
};
)
● 참고 자료 : 토비의 스프링 3.1
반응형
'Spring 사전 준비 > JAVA' 카테고리의 다른 글
[JAVA 간단정리 6] 정렬/입출력/스레드/GUI/네트워크 (0) | 2020.11.20 |
---|---|
[JAVA 간단정리 5] API(Timer)/Wrapper/예외처리/Collections (0) | 2020.11.17 |
JAVA Collections 시간복잡도 총정리(타 블로그 링크) (0) | 2020.11.17 |
[JAVA 간단정리 4] 인터페이스/싱글톤/API(문자열,날짜,랜덤) (0) | 2020.11.16 |
[JAVA 간단정리 3] 패키지/접근제한자/static/상속/추상클래스 (0) | 2020.11.13 |
댓글