[Effective Java] 태그 달린 클래스보다는 클래스 계층구조를 활용하라.


[Effective Java] 태그 달린 클래스보다는 클래스 계층구조를 활용하라.

태그 달린 클래스보다는 클래스 계층구조를 활용하라 두 가지 이상의 의미를 표현할 수 있고, 현재 표현하는 의미를 태그 값으로 알려주는 클래스들이 있다. public class FigureWithTag { enum Shape {RECTANGLE, CIRCLE} ; // 태그 필드 - 현재 모양을 나타낸다. final Shape shape; // 다음 필드들은 모양이 사각형(RECTANGLE)일 때만 쓰인다. double length; double width; // 다음 필드는 모양이 원(CIRCLE)일 때만 쓰인다. double radius; // 원용 생성자 public FigureWithTag(double radius) { this.shape = Shape.CIRCLE; this.radius = radius; } // 사각형용 생성자 public FigureWithTag(double length, double width) { this.shape = Shape.RECTANGLE; t...


#abstract #자바 #이펙티브자바 #서브타이핑 #태그클래스 #java #effectivejava #effective #상속 #extends #계층구조

원문링크 : [Effective Java] 태그 달린 클래스보다는 클래스 계층구조를 활용하라.