[Java] Static 키워드에 대해서 알아보자. #45
jcrescent61
started this conversation in
Java
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Static 키워드에 대해 알아보자
Static
사전적 정의에 의하면 '고정된' 이라는 뜻이다.
Java에서의 Static
자바에서 static 키워드를 사용하면 인스턴스의 생성 없이 접근이 가능하다. 어떤 원리로 가능한 것일까?
static과 메모리
Java 프로그램이 실행되면, JVM은 운영체제로부터 프로그램이 필요한 메모리를 할당받는다.
위 사진은 메모리 영역 중 런타임 데이터 영역에 해당된다. JVM의 메모리 영역이며 자바 애플리케이션을 실행할 때 사용되는 데이터를 적재하는 영역이다.
static 변수, static 메서드, 바이트 코드 등을 Method 영역에 적재한다.
Static 키워드의 주의할 점
메모리는 물리적인 한계가 있으므로 static 키워드를 남발하여 메서드 영역이 비대해지는 것을 막을 필요가 있다.
모든 데이터를 정적으로 관리하면 비효율적이기 때문이다. 상황에 맞게 메모리에 해제될 수 있게 구현하여 효율적으로 운영하는 것이 좋다.
Beta Was this translation helpful? Give feedback.
All reactions