オブジェクトをnewする時に引数(インスタンス名)を与える。

存在しない引数(インスタンス名)だったら、新規でnewしてインスタンスを返す。
すでに存在する引数(インスタンス名)だったら、既存のインスタンスを返す。

この時、newと言う名称を用いるのに違和感があるので、なんか考えてください。