File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ # 멤버 클래스는 되도록 static으로 만들라
2+
3+ - 중첩 클래스 nested class는 자신을 감싼 바깥 클래스에서만 쓰여아한다.
4+ - 중첩 클래스 종류
5+ 1 . 정적 멤버 클래스
6+ 2 . 비정적 멤버 클래스
7+ 3 . 익명 클래스
8+ 4 . 지역 클래스
9+
10+ ## 어느 경우에 정적, 비정적 멤버 클래스를 사용할까
11+ - ** 바깥 인스턴스를 참조** 하냐 안하냐의 차이
12+ - ` Iterator ` , ` Adaptor ` 는 바깥 인스턴스를 참조해야지만 쓸모가 있는 클래스
13+ - 그러므로 비정적 클래스로!
14+ - ` Entry ` 는 ` Map ` 내부에 있지만, ` Map ` 정보에 대해 알 필요 없음 --> 그래서 Enty는 정적 멤버 클래스로 가능
15+ - 반면 ` Iterator ` 들은 바깥 인스턴스 정보를 알아야 하니까.. --> 비정적 클래스
16+ - 다시 말해, 정적 클래스의 경우 새로운 탑클래스로 분리 가능하다 (바깥 클래스를 참조하고 있지 않기 때문에)
17+ - 반면 비정적 클래스의 경우, 바깥 클래스를 참조하고 있는 경우, 새로운 탑 클래스로 분리하는 게 어렵거나 불가능하다. -> 그러므로 해당 클래스 내부에 존재하도록 만들어야 한다.
18+
19+ # QnA
20+ - 예제코드 --> https://javabom.tistory.com/46
21+ - 좀 더 알아보면 좋을 내용들
22+ 1 . Map.Entry Interface의 목적과 사용에 대해
23+ 2 . 위 예제 코드를 통해 각각 클래스가 어떤 것인지 알면 좋을듯.
24+ 3 . 비정적 멤버 클래스의 경우 접근제한자가 public, protected로 설정하는 경우도 있을까?
You can’t perform that action at this time.
0 commit comments