return self::$myservice ?? self::$myservice = new MyService();

引用元
「PHPフレームワーク Laravel実践開発」 著者: 掌田津耶乃

MyServiceクラスの$myserviceにインスタンスがすでに保存されていたらそれを返し、nullならnewしたインスタンスを代入。

質問内容
??の右側にあるself::$myserviceを返すものだと認識しているのですが、必ずnew MyService()が代入され、新しいインスタンスが返ってくるのではないか(インスタンスがすでにある場合も上書きされる)という点です。
ご教授ください。