2.6.2 내부 클래스
앞에서는 static으로 선언한 중첩 클래스를 살펴보았다. 여기서는 static 제어자를 빼면 어떻게 되는지 알아보자. static을 붙이지 않은 클래스를 내부 클래스(이너 클래스(inner class))라고 한다.
각 회원(member)이 다른 회원과 관계를 맺는 소셜 네트워크를 생각해 보자.
public class Network {
public class Member { // Member는 Network의 내부 클래스다.
private String name;
private ArrayList<Member> friends;
public Member(String name) {
this.name = name;
friends = new ArrayList<>();
}
...
}
private ArrayList<Member> members = new ArrayList<>();
...
}