スマートコンストラクタ
その型の値を作る関数
コンストラクターがバリデーションして無効な値は拒否してエラーを返す