static은 class와는 조금 다른 사용자 정의 데이터형이다. class는 필드나 메서드 데이터를 힙에 저장하고, stack에서 참조하는 방식으로 생성자를 통해 하나씩 생성하고,사용할때는 그 heap을 참조하는 방식이다.반면, static을 붙인 채로 필드나 메서드 데이터를 생성하면 static을 위해 할당되는 고정된 메모리 영역이 있고어디서 접근을 하든 그 메모리 공간을 참조하는 방식이다. 일반적인 객체처럼 생성되고 삭제되는 것이 아니라, 애플리케이션 전반에 걸쳐서 한 번만 메모리에 올라가고 계속 유지된다는 뜻이다. 즉, 몬스터 인스턴스를 해도 static으로 생성된 클래스나 메서드는 새로 생성되지 않는다. 원래 있던 static으로 할당되어 있는 메모리를 참조할 뿐이다. 어떤 사용처가 있..