요약 :
- 메인메서드는 프로그램 시작시 호출되는 메서드라서 이름이 달라져서는 안된다.
- 클래스로 컴파일하고 실행시, 문자열을 나열하거나 해서 인자값을 전달할 수 있다.(인텔리제이 설정으로도 가능하다.)
- static으로 된 이유는 프로그램 시작시에 main함수를 호출해야 되는데, static이 아니면 객체를 생성해야 호출이 가능해서 실행이 아예 안된다. 즉, 프로그램 시작시에 객체 생성 없이도 호출할 수 있기 위해서 static으로 되어 있다.
- void로 되어 있는 이유도 다른 자료형으로 선언되면 그에 맞는 처리가 필요해지기 때문이다. 대부분은 그런 처리가 필요하지 않는다.
- 자바 프로그램의 시작점
- 작성된 모든 코드들의 엔트리
- 메인 메소드가 포함된 클래스를 통해 프로그램을 실행
package sec06.chap05;
public class Ex01 {
public static void main(String[] args) {
System.out.println("메인 메서드 실행");
}
}
메서드 이름 바꾸고 해보기
- 메인 메서드가 없다고 나온다. main이라는 이름의 메서드는 프로그램의 시작점이 되는 클래스에 필요하다.
매개변수 활용해보기
- 자바 프로그램을 실행할 때, 인자값을 나열해서 필요한 값을 가져다 사용할 수 있다.
- 일일이 컴파일하면 너무 복잡하다는 단점이 부각된다.
인텔리제이 설정값으로 하는 방법
- IntelliJ에서 실행
- Edit Configuration 에서 메인 파일 설정, 매개변수 입력
- 설정의 이름을 지정하여 저장하면 유용
- 해당 설정으로 프로젝트 실행
- 여러 설정 중에 선택하여 실행 가능
- Edit Configuration 에서 메인 파일 설정, 매개변수 입력
실습3
if (args.length < 2) {
System.out.println("메뉴와 맵기를 모두 입력해주세요.");
return;
}
String menuName = args[0];
String spicyLevel = args[1];
if (spicyLevel.length() != 1) {
System.out.println("맵기를 한 자리 숫자로 입력해주세요.");
return;
}
if (!"0123456789".contains(spicyLevel)) {
System.out.println("맵기는 숫자로 입력해주세요.");
return;
}
System.out.printf("%s 맵기 강도 %s로 주문%n", menuName, spicyLevel);
- vm 옵션에서 떡볶이 3 이런식으로 값을 넣고 실행시, main의 코드대로 맵기, 강도가 출력되는 것을 볼 수 있다.
출처
- 사이트, 검색명 (날짜)
'얄코의 제대로 파는 자바 > 섹션6 클래스 더 알아보기' 카테고리의 다른 글
레코드(java 16+) (0) | 2024.04.22 |
---|---|
열거형 (0) | 2024.04.17 |
익명클래스 (0) | 2024.04.08 |
내부클래스 (0) | 2024.04.07 |
패키지 (0) | 2024.04.02 |