공부 자료/자바[JAVA]

[JAVA] main 메서드 매개값 String[] args (자바 커멘드라인 입력)

희희웃는청바지 2023. 8. 17. 16:30

public static void main(String[] args)

 

static

: 프로그램이 실행되는 순간 메모리가 할당되며,  Garbage Collector에 의한 메모리 정리 대상이 아님

: 따라서 static을 사용하여 메모리에 항상 상주하도록 설정해야 함

 

String[] args

: args 문자열을 배열로 사용한다는 의미

: main 함수는 프로그램 실행 시 처음으로 수행되는 함수이기 때문에 외부로부터 값을 입력받을 수 있어야 하며, 내부에서 값을 호출할 수 없음

: 위와 같은 이유 때문에 main이 시작되기 전에 데이터를 입력받는 스레드가 필요하며, 이를 위해 JDK는 JVM이 클래스 파일을 처리하기 전 커맨드 라인을 통해 데이터를 사용자로부터 입력을 받음

: JDK는 사용자가 main에게 넘겨주고 싶은 데이터를 배열로 만들어 Heap 영역에 저장하고 배열 주소를 args에 저장

 

외부로부터 값을 입력받기 위해서 IDE에서는 아래와 같이 하면 됨

Edit(Run/Debug) Configurations >> arguments 에 값을 입력하면 실행이 가능