[Item24] Nested Class
멤버 클래스를 왜 static으로 만들어야 하는가, 그전에 멤버 클래스는 왜 필요한가? 책에서는 멤버 클래스를 가지고 있는 클래스에서만 쓰여야 한다고 한다 Oracle 문서에서는 다음과 같이 설명한다 한 곳에서만 쓰일 녀석들을 논리적으로 묶기 위함 & 캡슐화, 가독성, 유지보수성 향상 즉 outer class 와 함께 쓰일 때만 의미 있는 클래스로써 도우미 역할을 한다 예를 들어 outer class에서 쓰일 상수 클래스가 있을 때, outer class 외에 쓰일 일이 전혀 없으면 top-level로 빼기엔 애매하다 더욱이 유지 보수를 위해서 개념적으로 가깝다면 물리적으로 가까이 두는 것이 좋다 이런 경우 inner class로 두면 응집력이 높고 결합도가 낮은 형태로 만들 수 있다 중첩 클래스엔 네 ..
Java/Effective Java
2022. 3. 1. 22:08