1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | package study01; public class StaticTest { int field; static int staticfield; void method() { } //정적 메소드나 블럭에서는 this.를 사용하여 클래스의 인스턴스 멤버를 가져올 수 없기때문에 //클래스의 객체를 생성하고 참조변수로 접근해야한다. static void staticmethod() { StaticTest test = new StaticTest(); test.field=10; } } | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | package study01; public class Singleton { private static Singleton singleton = new Singleton(); // 싱글톤 생성 private Singleton(){} // 외부 클래스에서 접근하지 못하도록 프라이빗 static Singleton getInstance() { return singleton; //메서드 안에서 위에 만든 싱글톤을 사용해야하므로 싱글톤 객체 참조변수를 static 처리 //상수는 static이면서 final } } | cs |
final 필드
: 한번 초기화되면 수정할 수 없는 필드
객체마다 저장되고, 생성자의 매개값을 통해서 여러 가지 값을 가질 수 있기 때문에 상수는 X (공용성을 띨 수 없다.)