Overload를 사용해 보세요.
abstract class Criteria { // Common fields } public class FirstCriteria extends Criteria { } public class SecondCriteria extends Criteria { } public class ThirdCriteria extends Criteria { } public void renderMyDataOnScreen(FirstCriteria criteria) { ... } public void renderMyDataOnScreenFrom((FirstCriteria criteria) { ... } public void renderMyDataOnScreenFrom((SecondCriteria criteria) { ... } public void renderMyDataOnScreenFrom(ThirdCriteria criteria) { ... } Criteria criteria = getCriteria() renderMyDataOnScreenFrom(criteria);