Java 프로그래밍 언어를 사용하면 클래스 내에 다른 클래스를 정의할 수 있다. 이러한 클래스를 중첩 클래스라고 한다.
- 중첩 클래스를 사용하는 이유
- 한 곳에서만 사용되는 클래스를 논리적으로 그룹화
- 캡슐화 증가
- 더 읽기 쉽고 유지 관리하기 쉬운 코드로 이어짐
- 더 구체적인 상황에 맞게 사용하는 경우
- Local Classes(로컬 클래스)
- 클래스의 인스턴스를 두 개 이상 생성하거나 생성자에 액세스하거나 이름이 지정된 새 유형을 도입해야 하는 경우
- Anonymous Classes(익명 클래스)
- 필드나 추가 메소드를 선언해야 하는 경우
- Lambda Expression(람다식)
- 다른 코드에 전달하려는 단일 동작 단위를 캡슐화하는 경우
- 기능 인터페이스의 간단한 인스턴스가 필요하고 앞의 기준이 적용되지 않는 경우
- Nested Classes(중첩 클래스)
- 요구 사항이 로컬 클래스의 요구 사항과 유사하고 유형을 더 널리 사용 가능하게 만들고 지역 변수 또는 메서드 매개 변수에 대한 액세스가 필요하지 않은 경우 사용
출처 :
https://docs.oracle.com/javase/tutorial/java/javaOO/nested.html
https://docs.oracle.com/javase/tutorial/java/javaOO/whentouse.html
'Java > 기초' 카테고리의 다른 글
[Java] 리플렉션 (Reflection) (0) | 2021.09.05 |
---|---|
[Java] 익명클래스(Anonymous Classes) (0) | 2021.09.05 |
[Java] LocalDateTime (0) | 2021.08.30 |
[Java] Optional (0) | 2021.08.25 |
[Java] 입력 뜯어보기(Scanner, InputStream, BufferdReader) (0) | 2021.08.14 |