더북(TheBook)

static 제어자를 빼면 근본적인 차이가 하나 생긴다. 예를 들어 Member 객체는 자신이 어느 네트워크에 속하는지 알게 된다. 이 원리를 살펴보자.

다음은 회원을 네트워크에 추가하는 메서드다.

public class Network {

    ...

    public Member enroll(String name) {

        Member newMember = new Member(name);

        members.add(newMember);

        return newMember;

    }

}


아직은 별일 없어 보인다. 다음과 같이 회원을 추가하고 참조를 얻을 수 있다.

Network myFace = new Network();

Network.Member fred = myFace.enroll("Fred");


이제 Fred는 이 네트워크가 더 이상 가장 인기 있는 소셜 네트워크가 아니라고 느껴 멤버십을 해지하려고 한다.

fred.deactivate();

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