static
static 키워드를 사용한 변수나 메소드는 클래스가 메모리에 올라갈 때 자동으로 생성
클래스 로딩이 끝나면 별도의 인스턴스(객체) 생성 없이 바로 사용 가능
모든 객체가 메모리를 공유함
GC 관리 영역 밖에 있기 때문에 프로그램이 종료될 때까지 메모리에 값이 유지된 채로 존재
💡 static을 사용하는 이유
- 인스턴스 생성 없이 바로 사용 가능하기 때문에 프로그램 내에서 공통으로 사용되는 데이터들을 관리할 때 이용
- static은 자주 변하지 않는 값이나 공통으로 사용되는 값 같은 공용자원에 대해 일종의 '전역변수'로 이용되어 비용도 줄이고 효율을 높일 수 있음