質問: name; } public String getName() { return _name; } public static Command parseCommand(String name) { if (!_commandMap.containsKey(name)) { return null; } return _commandMap.get(name); } } ```
回答: これはシングルトンと呼ばれるパターンでよく見られるクラスです。まず、このインスタンスはstaticであることに注意、非staticだと無限に入れ子インスタンスを作ることになってしまう。 そして、重要なのはコンストラクタがprivateメソッドであることです。つまり、外部からnewすることを禁止しています。staticで定義された有限のインスタンスのみ存在を許し、これ以上のものは存在を認めません。また、staticの性質上、これらのインスタンスはグローバル変数に近い意味を持ちます。