質問: new Person (); の部分は、なぜ左側には()が付かず、右側には()が付くのか? その3行下の Debug.Log (p.GetFullName ()); のp.GetFullNameの横にもなぜ()を書く必要があるのか? また後半の public string firstname; public string lastname; public string GetFullName () の部分もpublic string firstname;とpublic string lastname;には()が付かず、public string GetFullName ()には()が付く理由が、入門書には記述されていなかったため、このままでは入門書無しで自分でプログラミングを書く際にどういう時に()をつければいいのかわかりません。 できれば、勉強中にこの部分を理解しておきたいのですが、どなたかご教授していただけないでしょうか。 ”そういうもの”という解答であれば、もうそれまでですが、何か説明可能な理由があれば知りたいです。 プログラミング初心者のため、質問自体が変になってしまっているかもしれないのですが、どうか教えてくださると助かります。 よろしくお願いします。
回答: 一言でいえば、「メソッド・コンストラクタ」を「呼ぶとき・定義するとき」に括弧が必要となります。 > > Person p = new Person (); > > > 左辺は単なる変数の定義です。 > > public string firstname;とpublic string lastname;には()が付かず、 > > > これらはメソッドではなく、フィールドの定義です。