아이템 23 - 태그 달린 클래스보다는 클래스 계층구조를 활용하라
enum(=enumeration): 1. (하나하나) 셈, 계산, 열거 2. 목록, 일람표 두 가지 이상의 의미를 표현할 수 있으며, 그중 현재 표현하는 의미를 태그 값으로 알려주는 enum 클래스를 본 적이 있을 것이다. 아래는 원과 사각형ㅇ을 표현할 수 있는 클래스다. class Figure { enum Shape {RECTANGLE, CIRCLE}; // 태그 필드 - 현재 모양을 나타낸다. final Shape shape; // 다음 필드들은 모양이 사각형(RECTANGLE)일 때만 쓰인다. double length; double width; // 다음 필드는 모양이 원(CIRCLE)일 때만 쓰인다. double radius; // 원용 생성자 Figure(double radius) { shape..