더북(TheBook)

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<>();

    ...

}

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.