같은 클래스 내의 다른 메소드를 호출할 때, 객체 생성 없이 무작정 호출을 하면 오류가 발생한다.
오류 부분에 마우스를 갖다대고 확인해보면, Change 'method()' to 'static' 문구가 보인다.
method 메소드를 static 으로 변경하라는 것인데, 그렇다면 모든 메소드를 static 으로 변경해야 할까? 아니다.
객체를 생성한 후 메소드에 접근하면 된다.
자바 애플리케이션을 실행할 때, static 이 붙은 항목이 가장 먼저 정의된다. main 메소드가 정의되었을 시점에 나머지 메소드가 정의되지 않았기 때문에 객체화를 한 뒤에 사용해야 하는 것이다.
클래스명 객체명 = new 클래스명();
클래스명.메소드명();
오류 안내문 처럼 메소드를 static 으로 변경하면 해결된다. 그러나 static 사용에는 장단점이 있기 때문에 상황에 맞춰가며 사용해야 한다.
static은 메모리에 고정적으로 할당되어 프로그램이 종료될 때 해제되는 것이다.
객체 생성이 필요 없어, 편리하고 속도가 빠르다. 프로그램 내에서 공통으로 사용되는 데이터들을 관리할 때 이용된다.