반응형
✅ 자바 프로그램 개발 과정
- 자바 프로그램 코드가 포함된 소스파일(.java)을 작성한다.
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
- 소스파일(.java)을 컴파일하여 클래스파일(.class)을 생성하기 위해서 자바 컴파일러(javac.exe)를 실행한다.
javac HelloWorld.java
- 생성된 클래스파일(.class)을 실행하기 위해 자바 인터프리터(java.exe)를 실행한다.
java HelloWorld
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
javac HelloWorld.java
java HelloWorld
✅ 자바 프로그램 실행 과정
- 프로그램의 실행에 필요한 클래스파일(.class)을 로드한다.
- MyProgram은 실행하고자 하는 클래스의 이름을 나타내고 forName() 메서드를 사용하여 클래스를 동적으로 로드한다.
Class<?> clazz = Class.forName("com.example.MyProgram");
- 클래스파일(.class)을 검사한다.
- getDeclaredMethod() 메서드를 사용하여 MyProgram 클래스에 선언된 main() 메서드를 검사한다.
- main() 메서드는 자바 프로그램의 시작점이며, String[] 형식의 인수를 받는다.
Method mainMethod = clazz.getDeclaredMethod("main", String[].class);
- 지정된 클래스 class에서 main(String[] args)을 호출한다.
- invoke() 메서드를 사용하여 MyProgram 클래스에 선언된 main() 메소드를 호출한다.
- 첫 번째 인수로는 메서드를 호출할 객체를 지정하며, static 메서드인 main()의 경우 객체가 필요하지 않으므로 null을 지정한다.
- 두 번째 인수로는 main() 메서드에 전달할 인수를 지정하며, String[] 형식의 인수를 전달하기 위해 빈 배열을 생성하여 전달한다.
mainMethod.invoke(null, (Object) new String[0]);
- main 메서드의 첫 줄부터 코드가 실행되고 마지막 코드까지 실행한다.
public static void main(String[] args) {
System.out.println("Hello, World!");
}
- 프로그램이 실행되는 도중 예외가 발생하지 않고, main() 메서드가 정상적으로 실행을 마치면 프로그램은 종료된다.
- 파일이나 네트워크 연결 등의 자원들은 프로그램이 종료될 때 자동으로 반환된다.
- MyProgram은 실행하고자 하는 클래스의 이름을 나타내고 forName() 메서드를 사용하여 클래스를 동적으로 로드한다.
Class<?> clazz = Class.forName("com.example.MyProgram");
- getDeclaredMethod() 메서드를 사용하여 MyProgram 클래스에 선언된 main() 메서드를 검사한다.
- main() 메서드는 자바 프로그램의 시작점이며, String[] 형식의 인수를 받는다.
Method mainMethod = clazz.getDeclaredMethod("main", String[].class);
- invoke() 메서드를 사용하여 MyProgram 클래스에 선언된 main() 메소드를 호출한다.
- 첫 번째 인수로는 메서드를 호출할 객체를 지정하며, static 메서드인 main()의 경우 객체가 필요하지 않으므로 null을 지정한다.
- 두 번째 인수로는 main() 메서드에 전달할 인수를 지정하며, String[] 형식의 인수를 전달하기 위해 빈 배열을 생성하여 전달한다.
mainMethod.invoke(null, (Object) new String[0]);
public static void main(String[] args) {
System.out.println("Hello, World!");
}
💡 main 메소드
자바의 main 메서드는 자바 프로그램을 실행하기 위해 반드시 작성해야 하는 특별한 메서드이다.
- main 메서드가 클래스 외부에서 호출되기 때문에 반드시 public static으로 선언되어야 한다.
- main 메서드는 반환값이 없어야 하므로 void를 사용한다.
- 자바 가상 머신이 프로그램을 실행할 때 찾기 위해 메소드 이름이 main이어야 한다.
- main 메서드는 매개변수로 String 배열을 받는다.
public static void main(String[] args) {
// 실행 코드 작성
}
반응형
'기타 > 백엔드 기초' 카테고리의 다른 글
자바 JAVA | java.lang.module.findexception 에러 해결 방법 | 간단한 방법, 프로젝트 생성 (0) | 2023.02.14 |
---|---|
자바 Java | 이클립스 Eclipse 시작하기 | Hello world 출력 (0) | 2023.02.14 |
자바 Java | 이클립스 Eclipse 초기 설정 | 워크스페이스 Workspace, 뷰 view, 퍼스펙티브 perspective (0) | 2023.01.09 |
자바 Java | 이클립스 Eclipse 설치하기 | 자바 개발도구 JDK, JAVA SE 11, 환경변수 설정, 통합 개발 환경 IDE (0) | 2023.01.09 |
자바 Java | JDK와 JRE의 차이: 자바 개발 도구와 실행 환경 (0) | 2023.01.09 |
자바 Java | 플랫폼 독립성의 중요성과 대표적인 언어/기술들의 구현 방식 (0) | 2023.01.09 |
자바 Java | 자바의 역사와 커피에서 영감 받은 이름 유래 (0) | 2023.01.08 |
자바 Java | 프로그래밍 언어와 컴파일러: 소스 코드를 기계어로 변환하는 방법 (0) | 2023.01.08 |