홍드로이드의 야매코딩

[ Java ] #4 메인 메소드 ( main method ) 본문

Java

[ Java ] #4 메인 메소드 ( main method )

홍드로이드 2020. 11. 17. 07:57

네 ~  여러분들 안녕하십니까 홍드로이드 입니다 ~ !



이번 시간에는 자바에서 메인 메소드에 대해서 간단하게만 알아볼겁니다 !



먼저 메인(Main) 이라고 하면, 뭔가 주인공 같은 느낌이죠 ? 그리고 보통 주인공은 하나 입니다.



우리가 자바에서 어떠한 프로그램을 만들 때, 반드시 메인 메소드가 존재하여야 합니다.



사실은 지난시간부터 여러분들은 이미 메인 메소드를 수차례 봐왔습니다. (제가 설명을 안 드렸을뿐 ^^;;)



자 그러면 일단 그동안 봐왔던 메인 메소드라는 친구가 어떻게 만들고 어떻게 생겼는지 구경부터 해봅시다.






사진과 같이 새로 만들어진 프로젝트에서 src 폴더에 우클릭 - > New -> Java Class를 클릭합니다.







만들어질 자바 클래스 이름을 지어줘야하는데 저는 그냥 MainMethod라고 이름을 짓겠습니다. 그리고 ENTER







자, 이렇게 MainMethod라는 빈 클래스를 만들고나서 저는 중괄호 내부에다가 main이라고 타이핑을 했습니다. 

그 때 자동완성으로 main method를 구현시킬 수 있는데 자동완성이 뜰 때 바로 ENTER 해줍시다. !



public class MainMethod {
public static void main(String[] args) {

}
}


바로 public static void main (String[] args) 의 형태가 메인 메소드 입니다.


메인 메소드는 프로그램 run을 하게되면, 메인 메소드의 중괄호 내부가 가장 빠르게 먼저 실행되는 지점이며, 

자바 프로그램을 하나를 구성하려면 반드시 한개의 메인 메소드가 존재해야한답니다 !  

(단, 1개 이상의 메인 메소드는 만들면 안됨)









프로그램 Run을 하는 방법은 메인 메소드가 있는 클래스 파일을 우클릭 하여 Run '클래스이름.main()'을 클릭해주시면 실행 됩니다. 현재는 메인메소드에 작성한 것이 없어서 특별한 값이 출력되지는 않을 겁니다.. !






자, 이렇게 메인 메소드가 무엇인지 간단하게만 알아보았는데요, 



public static void main (String[] args) 이 그래서 뭔데 ? 라고 궁금하실 겁니다.


이 부분은 자바 처음 접하시는 분들에게는 어려울 수 있으니, 지금은 맘편하게 읽고 지나갑시다.


public은 접근제어자 중에 한 가지로 어떤 클래스에서도 해당 변수나 메소드가 접근이 가능하게 끔 열어준 의미 이다.


static은 직역하면 정적이라는 뜻인데, 자바 프로그램이 컴파일(컴퓨터가 이해할 수 있는 기계어로 바꿔주는 과정)이 될 때 

가장 빠르게 선언되어 모든 객체와 공유가 가능 하다는 의미이다.


void는 간단하게 말하자면, 단순히 실행한다라는 뜻이다. 별도로 return(돌려주는) 값을 만들지 않고 실행하고 끝난다 

라는 것으로 이해하면 좋다.


main은 말 그대로 이 메소드가 메인이 된다. 라는 것의 의미이다.


String[] args는 문자열의 배열들을 args라는 변수명을 써서 인자로 받을 준비를 해둔 것인데, 

이클립스나 인텔리제이에서 사용할 일은 거의 없고, 예전엔 cmd(command-line) 창을 켜서 java파일을 실행하곤 했는데, 

그 때 저 String[]을 이용해서 args에 문자열을 넘겨줄 수 있다.






조금은 이해가 되셨을까요 ~ ? 


마지막에 설명드린부분은 당장 처음 자바를 시작하시는 분들에게는 

이해가 안되는 부분이 당연히 있을겁니다. 제가 추후에 설명드릴 부분이 아직 준비가 안되었으니까요 ~ 


다음에 관련내용들을 자세히 다뤄드릴테니 그 시점에서는 이해가 가실겁니다 !!



긴 글 봐주셔서 감사드리고, 오늘도 좋은하루 보내세요 ~ !



'Java' 카테고리의 다른 글

[ Java ] # 6 switch / case 문  (0) 2020.12.10
[ Java ] #5 if 문  (2) 2020.11.20
[ Java ] #3 주석  (0) 2020.11.12
[ Java ] #2 자료형  (0) 2020.11.11
[ Java ] #1 변수  (0) 2020.11.10
Comments