Java

[자바-중급1] 7. 중첩 클래스, 내부 클래스1

웨일파도 2024. 8. 2. 16:59
반응형

정적 중첩 클래스

  • static이 붙는다.
  • 바깥 클래스의 인스턴스에 소속되지 않는다.

 

내부 클래스

  • static이 붙지 않는다.
  • 바깥 클래스의 인스턴스에 소속된다. 

 

  • 중첩 클래스 : 정적 중첩 클래스 + 내부 클래스 종류 모두 포함
  • 내부 클래스 : 내부 클래스, 지역 클래스, 익명 클래스를 포함해서 말함

 

중첩 클래스는 언제 사용해야 하나?

중첩 클래스는 특정 클래스가 다른 하나의 클래스 안에서만 사용되거나, 둘이 아주 긴밀하게 연결되어 있는 특별한 경우에만 사용해야 한다. 외부 여러곳에서 특정 클래스를 사용한다면 중첩 클래스로 사용하면 안된다.

 

중첩 클래스를 사용하는 이유

  • 논리적 그룹화 : 특정 클래스가 다른 하나의 클래스 안에서만 사용되는 경우 해당 클래스 안에 포함하는 것이 논리적으로 더 그룹화 된다. 패키지를 열었을 때 다른 곳에서 사용될 필요가 없는 중첩 클래스가 외부에 노출되지 않는 장점도 있다.
  • 캡슐화 : 중첩 클래스는 바깥 클래스의 private 멤버에 접근할 수 있다. 이렇게 해서 둘을 긴밀하게 연결하고 불필요한 public 메서드를 제거할 수 있다. 

 

 

반응형