Java | 書籍『Effective Java』から Java のプログラミングテクニックを紹介します。static ファクトリーメソッド*1とコンストラクタには共通の問題があります。それは、オプションパラメータが多いときには、どちらもうまく対応できないということです。例えば、次のような場合を考えてみましょう。加工食品に表示される栄養成分を表すクラス NutritionFacts を考えます。このクラスには必須パラメータとして、一人前の分量(servingSize)、容器あたりの量(servings)の2つがあるとします。また、オプションパラメータとして、エネルギー(calories)、脂質(fat)、ナトリウム(sodium)、炭水化物(carbohydrate)の4つがあるとします。このようなクラスに対して、コンストラクタや static ファクトリーメソッドをどのように書くべきでし