클래스 내부 태그를 활용해 하나의 클래스를 여러 용도로 사용할 수 있다.
이는 내부 로직에서 매번 분기가 필요하여 쓸데없는 코드가 많아지며, 여러 구현이 하나의 클래스에 포함되어 가독성도 떨어진다.
이 외에도 다른 로직의 코드도 인스턴스들이 포함해야하고, 컴파일타임에 오류를 잡을 수 없고, 필드를 final로 선언하면 다른 로직에서도 초기화를 해주어야 하는 등
단점이 수많이 존재하는 안티패턴이다.
따라서 하위 호환인 태그를 활용하기 보다는 클래스의 계층구조를 활용하자.