자바에선 전역변수의 개념이 없다. 왜냐하면 모든 변수와 메소드는 클래스 내에만 존재하고
접근하기 위해선 메모리에 클래스의 인스턴스가 적재되 있어야 하기 때문이다. 그러나
static을 적용함으로써 클래스의 인스턴스를 메모리에 올리지 않고도 특정한 변수 , 메소드,
초기화문을 메모리에 올려 사용할 수 있다.
정리하자면 , 자바에서 함수나 멤버변수를 부르기 위해선 클래스의 인스턴스를 생성하여
객체참조를 통해 접근해야만 하지만 , static을 사용하면 클래스의 인스턴스를 생성하지
않고도 사용이 가능하다.
-Static의 메모리 할당순서
자바에서 static으로 선언할 수 있는 것은 다음과 같이 3가지 경우가 있다.
- static initializer : 정적 초기화문
- static variable : 정적 변수
- static method : 정적 메소드
위와 같은 것들을 선언할 수 있는데 실제로 메모리에 올라가는 순서는 다음과 같다.
2.static variable -> 1.static initializer -> 3.static method
==============추가==================
글을 정리하고나서 구글을 검색하다가 우연히 Java에서 static을 지양하라는 의견을 보았다.
괜찮은 내용인거 같아서 추가로 첨부한다.
Link : 자바에서 static을 지양하는 이유
댓글 없음:
댓글 쓰기