반응형
main 메소드에서 static 을 적는 이유
일반적으로 프로그램은 메모리(Memory)에 로드(load)된 후 실행됩니다.
Java 프로그램도 동일하죠.
클래스 new() 라는 키워드를 통해 인스턴스가 생성되는 순간 메모리에 로드됩니다.
main 메소드(Method) 는 JRE 에 의해 최초로 실행되는 메소드입니다.
main 메소드가 존재하는 클래스는 new 라고 하는 키워드를 통해 인스턴스가 만들어지지 않았습니다.
이렇게 된다면 앞의 이야기가 모순이 되는 것이죠.
main 메소드가 있는 클래스는 인스턴스가 만들어지지 않아서 메모리에 로드가 되지 않을텐데, 어떻게 실행되는 걸까요?
그 역할을 하는 것이 바로 static 입니다.
static 키워드는 메소드나 필드 앞에 붙을 수 있으며, static 키워드가 붙은 메소드와 필드는 컴파일 과정에서 바로 메모리에 로드됩니다.
따라서 main 메소드 앞에 static 을 붙이는 이유는 강제로 메모리에 올리기 위함이고,
main 메소드에서 바로 참조하는 메소드에도 이와 같은 이유로 static 을 붙혀야 하는 것입니다.
반응형
'Back-End > Java' 카테고리의 다른 글
[Java] 추상클래스와 인터페이스 (abstract, interface) (0) | 2019.02.17 |
---|---|
[Java] this 용법과 활용 (0) | 2019.02.17 |
[Java] Java 메모리 구조 (0) | 2019.02.17 |
[Java] Java 기본 설정(setting) (0) | 2019.02.17 |
[Java] StringBuffer (0) | 2018.11.11 |
최근댓글