public class StaticCount {
	
	int c; //인스턴스 변수
	static int count; // 클래스(static)변수
						/*객체 생성과 무관
						호출에 의해 메모리에 올라가서 여러 객체에서 공유할 수 있음*/
	public StaticCount(){
		c++;
		count++;
	}
}

call 1
call 3
메인
call 2


class StaticTest001{//정적 메서드 정의하기
	private static int a=10;
	private int b=20;

	public static void SetA(int new_a){
		a = new_a;
	}
	public static int getA(){
		return a;
	}
}
public class StaticTest02 {
	public static void main(String[] args){
		//System.out.println(StaticTest.a);
		//a가 private으로 선언되어서 컴파일 에러 발생 (접근제한 때문에 호출불가)
		System.out.println(StaticTest001.getA());
		
		/*getA(),setA()가 static하기 때문에
		getA(),setA()만 호출할 경우 객체 생성하지 않고 호출가능
		StaticTest001 s1= new StaticTest001();
		StaticTest001 s2= new StaticTest001();*/

		StaticTest001.SetA(10000);
		int res1=StaticTest001.getA();
		
		System.out.println(res1);
		System.out.println(StaticTest001.getA());
	}
}

10

10000
10000


'Java > Constructor (생성자)' 카테고리의 다른 글

예비  (0) 2012.04.11
static 기본3  (0) 2012.04.11
static 기본  (0) 2012.04.11
정직 멤버변수와 인스턴스 멤버 변수의 차이점  (0) 2012.04.11
메소드 간단 예제  (0) 2012.04.11

+ Recent posts