Notice
Recent Posts
Recent Comments
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Archives
Today
Total
관리 메뉴

충분히 쌓여가는

9.1 중첩 클래스 본문

이것이 자바다/09 중첩 선언과 익명 객체

9.1 중첩 클래스

빌드이너프 2024. 4. 4. 12:25

클래스가 여러 클래스와 관계를 맺는 경우에는 독립적으로 선언하는 것이 좋으나,

특정 클래스만 관계를 맺을 경우에는 중첩 클래스로 선언하는 것이 유지보수에 도움이 되는 경우가 많다

 

중첩 클래스

클래스 내부에 선언한 클래스

클래스의 멤버를 쉽게 사용할 수 있고 외부에는 중첩 관계 클래스를 감춤으로써 코드의 복잡성을 줄일 수 있다

 

멤버 클래스

클래스의 멤버로 선언되는 중첩 클래스

 

로컬 클래스

메소드 내부에서 선언되는 중첩 클래스

멤버 클래스 인스턴스 멤버 클래스 class A {
  class B { ... }
}
A 객체를 생성해야만 B 객체를 생성할 수 있음
정적 멤버 클래스 class A {
  static class B { ... }
}
A 객체를 생성하지 않아도 B 객체를 생성할 수 있음
로컬 클래스 class A {
  void method() {
    class B { ... }
  }
}
method가 실행할 때만 B 객체를 생성할 수 있음