📘

javaのstaticとはなんだろう。。。

に公開

最近、javaの初歩的な勉強をしていてstaticとはなんだろう、、、と素朴に思ったので調べました。

結論から言うとstaticとはクラス共通の変数、メソッド、クラス(ネスト化されたもの)を作るための予約語です。

対比はおそらくインスタンス化された変数、メソッドになります。

最初に簡単にクラスとインスタンスを振り返ると、
クラスとは・・・設計図
インスタンスとは・・・設計図を元に作られたもの
と考えられます。
だから、インスタンスで同じクラスから2つのインスタンスが作られた時、同じ変数でも違うものとして扱われるんですね。

そのうえでstaticを見てみましょう。
staticはクラスから直接参照します。つまりどのインスタンスから参照できる変数、メソッドがクラスということになります。

このような特徴があるため、staticの使いどころは
・共有したい情報がある場合
・ユーティリティ関数の場合
です。

Discussion