새소식

Java

[Java] public static void main(String[] args)가 무엇일까?

  • -

 

 

public static void main(String[] args)

 

1)  이게 무엇일까?

 

Java 프로그램의 진입점(Entry Point)을 나타내는 메소드 시그니처입니다.

 

이 메소드는 Java 프로그램이 실행될 때 자동으로 호출되며, 프로그램의 실행을 시작하는 역할을 합니다.

 

 

 

 

 

 

 

 

2)   하나씩 분석해보자

 

● 구조

[접근 제어자] [키워드] [반환 타입] 메소드이름([스트링타입 배열 args]) {
   public     static      void       main         (String[] args)
}

 

 

 

 

 

 

 

① public

Java의 접근제어자(public, private, protected, default) 중 하나입니다.

 

접근제어자를 통해 특정 메소드에 접근 제약을 두는데

 

public은 프로젝트 내에서 자유롭게 접근할 수 있게 해줍니다.

 

즉, main 메소드를 다른 클래스에서 접근할 수 있도록 공개적으로 설정합니다.

 

 

 

 

 

 

 

② static

 

static은 '정적'이라는 의미로, 메소드, 멤버, 블록 등에 붙어 정적 메소드, 정적 멤버, 정적 블록으로 바꾸어줍니다.

 

메소드가 선언되고나면 클래스의 객체화가 필요하지만,

 

static으로 선언되고나면 클래스의 인스턴스화 없이 직접 호출할 수 있게 만들어줘서

main메소드를 클래스의 객체화 없이 바로 사용 가능하게 해줍니다.

 

 

 

 

 

 

③ void

 

메소드가 반환되는 타입이 없을 때는 void를 붙여주게 됩니다.

 

main 메소드의 경우, 완료된 경우 반환되는 값 없이 프로그램이 종료되다보니

 

반환해줄 필요가 없어 'void'를 붙여주는 것입니다.

 

 

 

 

 

반환(Return)되는 메소드 1번과 2번

 

위 그림에서 Method 1과 Method 2는 반환되는 메소드이므로 void가 없었을 것입니다.

 

 

 

 

반환되지 않고 종료되는 main method

 

반면에 main method는 실행 후 반환되는 값 없이 프로그램이 종료되므로, void가 있습니다.

 

 

 

 

 

 

 

 

 

④ main

 

메소드의 이름으로, Java 프로그램의 진입점을 나타내기 위해 사용됩니다.

 

 

 

 

 

 

 

 

⑤ String[] args

 

메소드를 실행되기 위해서는 '매개변수'라는 값이 필요합니다.

 

args라는 이름의 String(문자열) 타입의  [  ]  배열을 매개변수로 사용한다는 뜻입니다.

 

 

 

 

 

 

 

 

 

3)   요약

프로젝트 내에서 자유롭게 접근이 가능하고 (public)

 

객체화가 필요 없이 사용가능하고 (static)

 

종료된 후 반환할 필요가 없고 (void)

 

문자열 배열 타입의 args라는 매개변수를 가지는 (String[] args)

 

main이라는 이름의 메소드 (main)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2023.07.11 - [Java] - 메소드 선언 Method Declaration

 

메소드 선언 Method Declaration

메소드 선언 1) 메소드(Method)의 개념 클래스 안에서 어떤 작업을 수행하는 코드의 블록으로, 특정한 기능을 수행하고, 필요에 따라 값을 반환할 수 있습니다. 메소드는 다른 메소드를 호출할 수

devwarriorjungi.tistory.com

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.