자바
자바 Static
cdbitmana
2020. 10. 15. 00:01
Static한 메소드나 필드는 인스턴스화 하지 않아도 사용할 수 있다.
Static한 메소드는 객체를 생성하지 않아도 사용할 수 있기 때문에 Static한 메소드 내에서 Static하지 않은 필드는 사용할 수 없다.
(Static한 메소드가 사용하는 시점에 해당 클래스가 인스턴스화 되지 않았을 수도 있기 때문)
Static한 변수들은 Static하지 않은 메소드에서 사용할 수 있다.
Static한 필드 선언 방법
static int value = 10;
Static하지 않은 변수를 Static 메소드에서 사용하는 방법
- 객체를 생성하고 사용하기.
- 변수 앞에 static을 붙이기.
Static한 필드는 값을 공유한다.
Static하지 않은 변수는 객체가 생성될 때마다 값을 저장하는 공간이 생기지만, Static한 변수는 그렇지 않음.
Static한 필드는 인스턴스될 때 공간이 생성되지 않는다.
이러한 Static한 변수를 클래스 변수 라고 한다.
클래스 변수는 참조변수명.변수명 하고 사용하기 보다는 클래스명.변수명 으로 사용하는 것이 좋다.