정적(static) 변수:
"정적(static) 변수"는 또다른 말로 "클래스 변수" 라고 하며 인스턴스 변수와는 다르게 객체를 생성할때마다 생성되는게 아닌 클래스가 만들어질때 단 한번만 생성된다. 다시말해 모든 객체가 서로 값을 공유하며 하나의 객체에서 그 값을 변경하면 다른 객체에서도 영향을 받는다는 뜻이다.-StaticTest1.java
결과:
또한 위에서 설명했듯이 정적변수의 경우 객체가 생성될때가 아닌 클래스가 만들어질때 생성되기 때문에 객체를 생성하지않고도 클래스명으로 직접 접근이 가능하다.
-StaticTest2.java
결과:
정적(static) 메서드:
"정적 메서드"는 정적 변수와 마찬가지로 "클래스 메서드"로도 불리며 클래스가 생성될때 한번만 생성된다. 따라서 보통의 인스턴스 맴버와는 다르게 따로 객체 생성없이 클래스명으로만 직접 접근이 가능하다.정적 메서드의 경우 인스턴스 메서드에 비해 생성, 실행 속도가 빠르다는 장점이 있으나 정적 메서드 내부에서는 인스턴스 맴버를 사용할 수 없다는 점에 유의해야 한다. 그 이유는 인스턴스맴버와 클래스맴버의 생성시기가 객체가 생성될때, 클래스가 생성될때로 서로 달라 정적 메서드가 생성되었을때 해당 인스턴스 맴버가 존재하는지 아닌지를 알 수 없기 때문이다.
-StaticTest3.java
댓글
댓글 쓰기