[Java] public static void main(String[] args) 의미

김용준·2022년 8월 23일
0

Java Basic

목록 보기
2/22

public static void main(String[] args)

public class Hello { 

	public static void main(String[] args) {
		System.out.println("Hello, world");
	}
}

학교에서 C++을 배울 때에도 이 부분처럼 프로그램의 시작 부분에 대해 의문을 가졌었다. 다른 과목 공부하느라 바빠서 모른 채로 넘어갔던 기억이 난다. 이 기회에 도대체 저 문장이 무슨 의미인지 이해하고 넘어가야겠다 싶어 찾아봤다.

먼저 Java프로그램은 main메소드부터 실행된다는 규칙을 받아들이고 시작하자.

public

접근 제한자로서 main메소드를 어디서 접근할 수 있는지 지정한다. 제한자는 public, protected, private이 있다. 그 중 public은 어디에서나 접근 가능한 범위를 갖는다. 따라서 main메소드는 public으로 지정해야만 한다. main메소드는 Java 프로그램 실행 시 가장 먼저 실행되는 메소드이기 때문이다.

static

Java에서 static키워드가 붙은 변수나 메소드는 한 번 메모리에 할당되면 프로그램이 종료될 때까지 남아있는다. main메소드의 시작과 끝이 곧 프로그램의 시작과 끝이기 때문에 main메소드는 static으로 선언해야 한다.

void

void는 메소드가 종료될 때, 반환값이 없다는 의미이다. main메소드가 종료되면 프로그램도 종료되기 때문에 반환값을 가질 필요가 없다. 이와 같은 이유로 main메소드는 void타입을 사용한다.

main

Java프로그램 실행 시 가장 먼저 실행되는 메소드 이름을 main으로 한다. 규칙이므로 그냥 받아 들인다.

String[] args

String은 문자열을 나타내는 자바의 자료형이고, [] argsString 자료형에 대한 변수명으로 args 뒤에 []가 있으므로 배열임을 의미한다. 즉 연속적인 문자열 데이터가 저장되는 공간이다.

추가적인 내용은 뒷장에서 배울 배열과 매개변수에 대해 학습한 뒤 더 알아보도록 한다.

profile
차선이 모여 최선이 된다.

0개의 댓글