자바

자바 Static

cdbitmana 2020. 10. 15. 00:01

Static한 메소드나 필드는 인스턴스화 하지 않아도 사용할 수 있다.

 

Static한 메소드는 객체를 생성하지 않아도 사용할 수 있기 때문에 Static한 메소드 내에서 Static하지 않은 필드는 사용할 수 없다.

(Static한 메소드가 사용하는 시점에 해당 클래스가 인스턴스화 되지 않았을 수도 있기 때문)

 

Static한 변수들은 Static하지 않은 메소드에서 사용할 수 있다.

 

Static한 필드 선언 방법

static int value = 10;

 

Static하지 않은 변수를 Static 메소드에서 사용하는 방법

  1.  객체를 생성하고 사용하기.
  2.  변수 앞에 static을 붙이기.

 

Static한 필드는 값을 공유한다.

Static하지 않은 변수는 객체가 생성될 때마다 값을 저장하는 공간이 생기지만, Static한 변수는 그렇지 않음.

Static한 필드는 인스턴스될 때 공간이 생성되지 않는다.

이러한 Static한 변수를 클래스 변수 라고 한다.

클래스 변수는 참조변수명.변수명 하고 사용하기 보다는 클래스명.변수명 으로 사용하는 것이 좋다.