staticメソッドの性質は、どこに特徴があるのだろうか?
振る舞いが変わらない? いや、属性が変わらない?
もっと妥当な言い回しはなんだろう。
オブジェクト指向的に考えてみる。
オブジェクトの状態が変わらない。
オブジェクトのインスタンス変数が変わらない。
staticメソッドの場合、
引数がありでも、その引数しか考慮する必要がない。
つまり、
状態遷移の部分は保証されているので、意識する必要がない。
カプセル化するので、引数以外は変わらない。
staticメソッドとinstanceメソッドでstaticな場合、
それぞれ同じように呼べるわけだが、
staticだとよい理由は、
状態遷移という点で引数ある場合でも
引数のみしか意識する必要がないということらしい。
最終更新:2009年01月28日 01:21