더북(TheBook)

4.3.3 인스턴스의 바디


enum 인스턴스 각각에 메서드를 추가할 수 있지만, 열거에 정의된 메서드를 오버라이드하는 것이어야 한다. 예를 들어 계산기를 구현한다면 다음과 같이 작성할 수 있다.

public enum Operation {

    ADD {

        public int eval(int arg1, int arg2) { return arg1 + arg2; }

    },

    SUBTRACT {

        public int eval(int arg1, int arg2) { return arg1 - arg2; }

    },

    MULTIPLY {

        public int eval(int arg1, int arg2) { return arg1 * arg2; }

    },

    DIVIDE {

        public int eval(int arg1, int arg2) { return arg1 / arg2; }

    };


    public abstract int eval(int arg1, int arg2);

}

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