Javaクラス-フィールド


クラスのフィールド(field)は、クラスに含まれる変数(variable)を指します.
フィールドの比較
クラス変数(static variable)
クラス領域の変数に、静的キーワードを持つ変数.
クラスはメモリ内で作成され、プログラムが終了すると破棄されます.
すなわちnewでメモリを割り当てる必要がなく使用できる.
ロード時にメモリ割り当てが行われ、[クラス名.オブジェクト]からアクセスします.
すべてのインスタンスは同じ値を共有し、値が変更されるとクラス変数に反映されます.
インスタンス変数
クラス領域にある変数に静的キーワードが含まれていない変数.
各インスタンスには独自の値があります.
インスタンスは作成時に作成され、hip領域に格納されます.インスタンスは消えたときに消えます.
インスタンスメソッドはnewでのみアクセスでき、クラスメソッドではアクセスできません.
ゾーン変数(localvariable)
初期化ブロックに存在するメソッドまたは作成者.
ブロック内で変数宣言を実行すると生成され、スタック領域に格納されます.街を離れると消えてしまいます.
class FieldTest {
	 static int classVariable = 10; // 클래스 변수 선언
	 int instanceVariable = 20;     // 인스턴스 변수 선언
}
public class Test {
	
	public static void main(String[] args) {
		//인스턴스 생성 전에 클래스 변수 호출 가능
		System.out.println(FieldTest.classVariable);
		
		FieldTest ft = new FieldTest();; // 인스턴스 생성
		//인스턴스 변수 호출
		System.out.println(ft.instanceVariable);
	}

}