[TIL]クラスメンバーVS.オブジェクトメンバー=静的メンバーvsインスタンスメンバー


※本書は、以下の書籍を学習して整理したものです.
📚 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!! 🌞


  • クラスは属性値10060

  • オブジェクトに属性値がある

  • クラス内のすべてのオブジェクトに同じ値がある場合は、静的プロパティを使用します.

  • クラスメンバー=静的メンバー=静的メンバー

  • オブジェクトメンバー=オブジェクトメンバー=インスタンスメンバー