[TIL]クラスメンバーVS.オブジェクトメンバー=静的メンバーvsインスタンスメンバー
3245 ワード
※本書は、以下の書籍を学習して整理したものです.
📚 Javaオブジェクト向けSpringの入門原理を理解する
🐕 生き物なら「おいくつですか?」
👕 無生物なら「製造日は何日ですか?」
クラス:分類シナリオ属性値が存在しません❌
オブジェクト:固有のエンティティ属性値⭕(上記の質問に答えることができます)
But!!
クラスは属性値10060
オブジェクトに属性値がある
クラス内のすべてのオブジェクトに同じ値がある場合は、静的プロパティを使用します.
クラスメンバー=静的メンバー=静的メンバー
オブジェクトメンバー=オブジェクトメンバー=インスタンスメンバー
📚 Javaオブジェクト向けSpringの入門原理を理解する
クラスとオブジェクトの区切り
🐕 生き物なら「おいくつですか?」
👕 無生物なら「製造日は何日ですか?」
クラス:分類シナリオ属性値が存在しません❌
オブジェクト:固有のエンティティ属性値⭕(上記の質問に答えることができます)
But!!
🐭 ミッキーマウスのしっぽはいくつありますか?
ジェリーのしっぽはいくつありますか?
ネズミのしっぽはいくつありますか.
上の3つの質問の答えは1つです.ミッキーマウス、ジェリーは対象と見なすことができます.しかしネズミは一流で、尻尾の数には答えがある.末尾はオブジェクトのプロパティですが、すべてのオブジェクトに同じ値があるため、クラスで質問しても答えが得られます.この場合、静的プロパティが使用されます.
Tメモリを確認してください.Mouseの各オブジェクトには、同じcountOfTailプロパティ空間があります.
同じタイプ(クラス)のすべてのオブジェクトに同じ値がある場合は、クラスに格納できます.これにより、この属性は静的属性となり、オブジェクト数によるメモリ領域を節約できます.
投稿で言ったMouseJAvaコードは4行目のコードでこのように変更されます.public int countOfTail = 1;
➡ public static int countOfTail = 1;
1 public class Mouse{
1 public String name;
3 public int age;
4 public static int countOfTail = 1;
5
6 public void sing() {
7 System.out.println(name + "찍직!!");
8 }
9}
countOfTailプロパティは、Tメモリの静的領域に1つの記憶領域しかなく、countOfTailプロパティにアクセスする際に객체_참조_변수.countOfTail
または클래스명.countOfTail
を使用します.
整理する
👉 デフォルトでは、クラス内のすべてのオブジェクトに同じ値がある場合に静的プロパティが使用されます!!
UMLタグ法では、静的メンバーに下線を使用します.クラスメンバー=静的メンバー=staticメンバーは同じ語で、オブジェクトメンバー=オブジェクトメンバー=インスタンスメンバーも同じ語です.フィールド=属性=属性
🌞 Check it!! 🌞
1 public class Mouse{
1 public String name;
3 public int age;
4 public static int countOfTail = 1;
5
6 public void sing() {
7 System.out.println(name + "찍직!!");
8 }
9}
クラスは属性値10060
オブジェクトに属性値がある
クラス内のすべてのオブジェクトに同じ値がある場合は、静的プロパティを使用します.
クラスメンバー=静的メンバー=静的メンバー
オブジェクトメンバー=オブジェクトメンバー=インスタンスメンバー
Reference
この問題について([TIL]クラスメンバーVS.オブジェクトメンバー=静的メンバーvsインスタンスメンバー), 我々は、より多くの情報をここで見つけました https://velog.io/@gaya309/TIL-클래스-멤버VS.-객체-멤버-static-멤버vs.-인스턴스-멤버テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol