[Java/Kotlin]静かですね



プログラミングにおけるCSの知識など基本的な知識がどれほど重要か知っているので、基本的な概念も基本的な意味であることを整理しておきたいのですが、大体何なのかはわかりますが、よくわからない概念かもしれません.

Static?

  • staticは、変数またはメソッドのキーワードとして使用されます.
  • の静的キーワードを使用する変数は、クラスがメモリに入ると自動的に生成されます.つまり、インスタンス(オブジェクト)を作成することなく使用できます.
    ->オブジェクト作成プロセスがなく、簡単です.△これを無視すると、大きな問題になります.
  • なぜStaticを書くのですか?


  • 固定値や設定情報などの共通リソースへのアクセスでは、メモリにロードされるたびに値を取得するよりも、グローバル変数のような概念でアクセスすることでコストを削減し、効率を向上させることができます.

  • インスタンスを作成する必要がないため、マネージャでよく使用されるデータの場合に使用します.
  • 私は良い例を持ってきました.)
    public class SelectGame {
    
    	static String game = "피파온라인";
    
    	
    
    	public static void main(String[] args) {
    
    		SelectGame jay = new SelectGame();
    		SelectGame yun = new SelectGame();
    
    		
    
    		System.out.println("jay's select : " + jay.game);
    		System.out.println("yun's select : " + yun.game);
    
    		
    
    		jay.game = "서든어택"; 
    
    		System.out.println("jay's select : " + jay.game);
    		System.out.println("yun's select : " + yun.game);
    
    	}
    
    }
    <結果>
    JAy's select:fifaオンライン
    yun's select:fifaオンライン
    JAy's select:突撃嵐
    yun's select:突撃攻撃
    Jayのゲームだけを変えて、Yunの好みも変わった.
    game変数をstaticとして定義するためjay,yunは同じ変数gameを共有する.
    staticを乱用することはできず、同じ値を保つ必要がある場合にのみ使用できます.

    静的関数とインスタンス関数の違い

  • の最大の違いは、静的キーワードの加算と非加算である.
  • 静的変数がメモリにロードされました.だから両者はコールに違いがある.
  • インスタンス関数はnew演算子でオブジェクトを作成し、関数を呼び出す必要があります.
  • 静的関数で非静的変数を使用しようとすると、エラーが発生します.
  • util

  • 今日日付を書く場合、カンマ単位などの方法でクラスメソッドを使うと有利です.
  • public class Util{
    	public static String getToday(String fmt){
        	SimpleDateFormat sdf = new SimpleDateFormat(fmt);
            return sdf.format(new Date());
        }
    }
  • 以上の形式で、Utilインスタンスの作成を必要とせず、今日の日付で出力できます.
  • 📌 スタティツクフィニッシュ

  • クラスを設計するとき、メンバー変数のすべてのインスタンスに共通の静的を加えます.
  • 静的メンバー変数は、インスタンスを作成することなく使用できます.
  • の静的関数では、インスタンス変数は使用できません.
  • 関数でインスタンス変数が使用されない場合は、静的変数の貼り付けを検討します.(時間効率)
  • クラス設計時、静的使用説明
    -まず、クラス内のメンバー変数の1つがすべてのインスタンスに共通値を保持する必要があるかどうかを確認し、staticを貼り付けます.
    -作成した関数で、インスタンス変数を使用しない関数にstaticを貼り付けることを考慮します.