Javaの制御者
3611 ワード
制御者とは、クラス、変数、またはメソッドに付加される付加的な意味を指す.
コントローラタイプ
スタティツクコントローラ
staticは、静的変数またはメソッドを作成する制御者です.
静的な静的変数(メソッド)は、動的実行中にオブジェクトを作成するときにメモリを割り当てる変数とは異なり、プログラムが終了するまでプログラムの開始時にメモリを割り当てます.
したがって、オブジェクトを作成するには、メモリに再割り当てするのではなく、グローバル変数のように使用できます.
このため、Javaで定数を処理すると、次のように表現されます.
静的使用上の注意
一方,static変数やメソッドを用いる場合には注意すべき点が多い.
まず、classの場合、メモリ内の静的領域に存在するが、インスタンス化されて使用されると、これらのオブジェクトはメモリ内の
ただし、静的変数およびメソッドは
次に、静的変数とメソッドを通常のメンバー変数とともに使用する場合は、注意してください.なぜなら、これらの変数とメソッドのロードポイントが異なるからです.
=>たとえば、クラスの
(静的メソッドのメモリ割当てポイントは
コントローラタイプ
1) 접근제어자 : public, protected, default, private
public < protected < default < private (보안도가 높은 순서)
- public: 어디서든 접근 가능
- protected: 같은 패키지 + 상속 관계에서 접근 가능
- default(접근 제어자를 붙여주지 않으면 default 처리된다):
같은 패키지 안에서 접근 가능
- private: 같은 클래스 안에서 접근 가능
2) 그 외 : static, final, abstract, synchronized, volatile,..
まず,アクセス制御者は,オブジェクト向けプログラミングにおいて,外部から変数やメソッドに直接アクセスすることを制限し,getterやsetterメソッドを用いた間接アクセスを導く概念である.(したがって、メンバー変数をprivateとして宣言することが望ましい)スタティツクコントローラ
staticは、静的変数またはメソッドを作成する制御者です.
静的な静的変数(メソッド)は、動的実行中にオブジェクトを作成するときにメモリを割り当てる変数とは異なり、プログラムが終了するまでプログラムの開始時にメモリを割り当てます.
したがって、オブジェクトを作成するには、メモリに再割り当てするのではなく、グローバル変数のように使用できます.
このため、Javaで定数を処理すると、次のように表現されます.
static final int UPPER_LIMIT = 1000;
これらの静的変数(またはメソッド)を使用すると、インスタンス化プロセスを必要とせずにclass명.static변수(메서드)이름
が呼び出されます.静的使用上の注意
一方,static変数やメソッドを用いる場合には注意すべき点が多い.
まず、classの場合、メモリ内の静的領域に存在するが、インスタンス化されて使用されると、これらのオブジェクトはメモリ内の
heap 영역
に格納される.また,heap領域に存在するデータはjavaゴミ収集器によって管理される.ただし、静的変数およびメソッドは
static 영역
に格納されており、この場合、これらの変数およびメソッドを使用しなくてもプログラム終了時にメモリが割り当てられるため、頻繁に使用するとシステムのパフォーマンスに悪影響を及ぼす可能性がある.次に、静的変数とメソッドを通常のメンバー変数とともに使用する場合は、注意してください.なぜなら、これらの変数とメソッドのロードポイントが異なるからです.
=>たとえば、クラスの
static 메서드
でクラスの일반 멤버 변수
を使用する場合は、staticメソッドでクラスの객체를 생성
を使用し、メンバー変数を使用する必要があります.(静的メソッドのメモリ割当てポイントは
프로그램 시작 시점
であり、使用するメンバー変数のメモリ割当てポイントはクラスの객체가 생성될 때
である)Reference
この問題について(Javaの制御者), 我々は、より多くの情報をここで見つけました https://velog.io/@bahar-j/자바의-제어자テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol