Public
접근제어자 (같은 패키지 혹은 다른 패키지 모두 접근(참조)할 수 있다)
static
기존의 객체의 경우 선언 시 stack 또는 heap 메모리에 할당되지만,
static의 경우 선언되기 이전에 프로그램이 실행 시 메모리에 할당되는 것을 의미한다.
그렇기 때문에 객체에 소속된 멤버가 아니고, 클래스의 고정멤버로서 이 둘을 클래스 멤버라고도 부른다. 그 결과 객체 생성 없이 호출 가능.
void
return할 결과물이 없을 경우, return타입을 void
사실 여기까지는 강의를 통해 알고 있던 내용이었고, 핵심은 main(String[] args)이다.
main(String[] args)
main()에게 외부 데이터를 넘겨주려면 main()가 시작되기 전에 데이터를 입력받는 스레드가 필요하다. 하지만 Stack 영역의 적재되는 첫 스레드는 main()이다.
그렇기 때문에 사용자가 main()에게 넘겨주고 싶은 외부 데이터를 배열에 넣어 java 명령어와 함께 받는 것이다.
(프로그램의 실행 순간에 외부의 값을 가져와서 프로그램 내 사용하고자 할 때 메모리에 저장할 공간을 미리 선언해 두는 것!)
입력받은 데이터를 배열로 만들어 Heap영역에 저장하고 배열의 주소를 String[] args에 저장한뒤, 그 주소를 main()이 파라미터를 통해 넘겨받는 것이다.
오늘은 궁금증을 해결하고 spring을 입문했다.
아직 spring이 무엇인지 잘 정리가 되지 않는다.
내일도 이어서 공부해봐야지!