static 함수를 이해하기전 필요한 자바 코드 실행과정
1 코드 컴파일 후 클래스 실행
2 클래스 로딩 => static 변수와 메서드가 메모리에 로딩
3 main()메서드 호출 (실행)
4 인스턴스 메서드 호출(실행)
5 모든 결과 출력
static
클래스,메서드, 변수 제한자로 사용
메모리 생성시기 : 클래스가 로딩되는 시점에 메모리에 로딩
생성 위치 : 클래스가 생성도는 Method Area에 생성 *위와 같은 동작으로 인해 인스턴스 생성 없이 클래스명만으로 접근 가능
statc 변수
멤버변수에 static 키워드를 사용 시 인스턴스 변수가 아닌 클래스(static) 변수로 취급됨.
모든 인스턴스에서 동일한 변수를 공유하는 형태
스테틱 변수가 아닌 일반의 경우

사용하기 위해 인스턴스를 생성한 후 사용 할 수 있다

스테틱 변수의 경우

인스턴스 생성 없이 바로 불러올 수 있다


그러나 여기서 내가 하고 싶은 이야기는 그냥 static을 사용하는 것이 아니라 무슨 원리를 통해서 인스턴스 생성 없이 사용할 수 있는지를 다시 생각해보자는 이야기이다.
클래스를 실행하여 클래스 로딩에 미리 static 변수가 메모리에 할당이 되기 때문에 사용 할 수 있다는 내용을 복기하고자 작성하였다