[Java] main 함수
by 무작정 개발이번에는 Java의 main 함수에 대해 간략히 정리할 것이다.
Java를 처음 공부하면 "public static void main(String [] args) {... } "를 보았을 것이다.
javapublic static void main(String[] args) { // .... }
Java를 보다 깊게 이해하기 위해 다시 한번 복습하면서 글을 작성 중입니다.
기초적인 내용은 다루지 않을 예정입니다.
먼저 이 글을 읽기 전에 이전 글을 읽고 본다면 이해하기 쉽다.
[Java] Stack, Heap
Java를 보다 깊게 이해하기 위해 다시 한번 복습하면서 글을 작성 중입니다. 기초적인 내용은 다루지 않을 예정입니다. 이번 글에서는 이전 글 [Java] JVM와 바이트 코드에서 나온 스택(Stack), 힙(Heap)
backendcode.tistory.com
[Java] JVM와 바이트 코드
Java를 보다 깊게 이해하기 위해 다시 한번 복습하면서 글을 작성 중입니다. 기초적인 내용은 다루지 않을 예정입니다. 이번에는 [Java] JDK, JRE 이란? 에 이어서 JVM, 바이트 코드에 대해 정리할 것
backendcode.tistory.com
JVM 시작 시 main 함수만 찾는다.
javapublic class Java { public static void main(String[] args) { System.out.println("main 함수 시작!"); } }
위에 Java라는 이름을 가진 클래스(Class) 안에 main 함수가 있다.
main 함수를 실행하면 하단의 결과가 나온다.

javapublic class Java { public static void main2(String[] args) { System.out.println("main 함수 시작!"); } }
이번에는 main을 main2로 변경하여 실행하면 하단의 결과가 나온다.

main 함수 이름을 변경하니 main 함수를 찾을 수 없다는 결과가 나온다.
그리고 마지막으로 main 함수에는 무조건 static 키워드가 붙어야 JVM이 찾을 수 있다. static이 없다면 위와 같은 결과가 나온다.
main 함수가 실행되면 main 스택이 열린다.
javapublic class Java { public static void main(String[] args) { System.out.println("main 함수 시작!"); } }
" { } " 사이를 main 스택 영역이라 하고 실행을 하면 main 스택이 열리는 것을 확인할 수 있다.
그리고 main의 내부 코드가 순차적으로 실행된 뒤에 Java는 종료된다. 스택 안에 있는 영역이 순차적으로 열리는데
이를 "절차적 실행" 이라고 부르며 한 줄 한 줄 읽어서 실행한다.
[ main 함수 구성 ]
(1) public : 모든 클래스에서도 해당 변수나 메서드가 접근이 가능하다는 의미로 프로그램의 시작은 main이기 때문에
다른 곳에서 호출할 수 있도록 public 사용
(2) static : Java가 컴파일(compile)이 되는 순간 가장 빠르게 정의도어 별도의 객체 생성 없이 모든 객체와 공유 가능
(3) void : 별도의 return(반환값) 없이 메서드를 실행하고 끝냄
(4) main : 이 메서드가 main 메서드(main 함수)라는 것을 의미함'
(5) string[] args : 연속적인 문자열 데이터가 들어가는 저장 공간이다. 터미널에서 Java 프로그램을 실행할 때
인수를 줄 수 있는데 이 값이 이곳으로 들어오게 된다.
블로그의 정보
무작정 개발
무작정 개발