매니저/JAVA1

JAVA1 Static 예제1 (임시저장)

cdprkr2077 2011. 12. 23. 20:30


/*
static 영역에 할당된다. ( static / heap / stack )
다른 멤버보다 먼저 할당된다.
static 메서드는 static 변수만 호출할 수 있다.
객체 없이 접근 가능하다.
자동 초기화 된다. 초기화는 한번 만 수행한다.
모든 객체( Object )들이 사용 할 수 있도록 공유개념을 가진다.
클래스변수 / 클래스 메서드라고도 한다.
*/

class StaticEx
{
 private int a = 10;
 private static int b = 10;   // 클래스 변수 <- 공유하니까 <- 한번만 할당디니까 <- 먼저 할당되니까

 public static void main( String[] args )
 {
  StaticEx se = new StaticEx();
  System.out.println( "a : " + se.a );
  System.out.println( "b : " + b );        // 가능은 한데 주로 사용은 안함
  System.out.println( "b : " + se.b);        // 가능은 한데 주로 사용은 안함
  System.out.println( "b : " + StaticEx.b );     // 이 방법을 주로 사용

  se.a += 10;
  se.b += 10;
  System.out.println( "se.a : " + se.a );
  System.out.println( "se.b : " + se.b );
  
  StaticEx se1 = new StaticEx();
  se1.a += 10;
  se1.b += 10;
  System.out.println( "se1.a : " + se1.a );
  System.out.println( "se1.b : " + se1.b );
 }
}