Похоже, «Да, это так», кроме:
Подобные эффекты могут быть достигнуты с помощью varargs , как предложено Полом Уиланом, или путем определения дополнительного типа, несущего параметры в виде полей с соответствующими значениями по умолчанию, как предложено Джоном Скитом. Борис Павлович добавляет, что его тип может быть внутренним статическим классом, чтобы аккуратно держать вещи в нужном месте.
Минусы (обратите внимание, что весь этот вопрос не о каких-либо серьезных последствиях, а об удобных настройках):
Кажется, что Varargs наиболее подходят для передачи списка значений переменной длины, которые имеют очень похожую форму и в основном эквивалентное значение, например, список имен. При использовании в целях, указанных в вопросе, метод должен будет выполнять различные проверки списка, чтобы интерпретировать его, что кажется не более, но менее удобным.
Специальный тип, содержащий параметры, кажется наиболее полезным, если результирующий тип может иметь другое использование, а не просто передаваться одному конкретному методу, или когда это более сложный набор параметров. Если есть 2-4 параметра, а некоторые могут иметь значения по умолчанию, перегрузку все же немного удобнее, но это может быть вопросом личного вкуса.