1.
자바에서 하나의 프로그램에는 하나의 main 메서드만 써야 하는거로 아는데
실제로 하나의 패키지 안에 두 개의 public 클래스에 public static void main 메서드 넣으면 둘다 원활히 작동하는 이유가 뭐에요?
2. 자바에서는 c언어에서 처럼 함수나 클래스 작성 순서가 중요하지 않아 보이는데.. (밑에서 선언한 것도 위에서 끌어다 쓸 수 있음) 컴파일할때 통으로 jvm에 올려서 그런건가요?
응애새내기 답변좀 부탁두려요
자바에서 하나의 프로그램에는 하나의 main 메서드만 써야 하는거로 아는데
실제로 하나의 패키지 안에 두 개의 public 클래스에 public static void main 메서드 넣으면 둘다 원활히 작동하는 이유가 뭐에요?
2. 자바에서는 c언어에서 처럼 함수나 클래스 작성 순서가 중요하지 않아 보이는데.. (밑에서 선언한 것도 위에서 끌어다 쓸 수 있음) 컴파일할때 통으로 jvm에 올려서 그런건가요?
응애새내기 답변좀 부탁두려요
자바 컴파일 하고 실행할때 java 클래스파일명.class 이렇게 실행하잖아 이러면 클래스 안에 public static void main(…) 찾아서 실행시키는 거임 그러니까 클래스마다 main함수 전부 하나씩 포함시켜도 상관없음
jvm 올라가면서 패키지 및 클래스에 대한 메타데이터 자료구조를 만들어내고 그 정보를 보유함. 그래서 런타임 시점에 해당 클래스 정보가 필요하면 클래스 메타데이터 기반으로 찾아내고 그 위치로 이동해서 클래스 정보를 가져오지. 이거 맞냐??? 나도 정확하진 않늠