자바 프로그래밍 기초 main() 메서드 분석

자바 프로그래밍 기초 main() 메서드 분석


지난 글에서 이클립스에서 자바 프로젝트를 생성하고 "HelloWorld"을 출력하는 코딩을 해봤는데요. 무슨 뜻인지도 모르고 무조건 해봤습니다. 이번 글에서는 "Helloword" 출력 프로그램을 분석해보겠습니다. 

지난 글에서 작성한 프로그램인데요. 먼저 파일의 이름은 [A01.java]입니다. 그리고 1번 라인에 [import java.lnag.*;]는 이미 만들어져 있는 java라는 폴더가 있고, 그 안에 lang 폴더가 있고 lang 폴더 안에 있는 모든(*) 클래스를 사용하겠다는 의미입니다. 즉, 미리 만들어 놓은 클래스를 사용하기 위해서 이 프로젝트에 import 해주고 있는데요. (아직은 Class에 대해서 모르기 때문에 다른 곳에 있는 class를 사용하기 위해서 import를 한다고만 정의하고 있으면 될 거 같아요.)


자바에서 가장 많이 사용하는 java.lang 폴더는 import를 해주지 않아도 그 안에 들어 있는 클래스는 모두 이용할 수 있도록 만들어 놨습니다. 이 폴더만 그렇고 다른 녀석들을 사용하기 위해서는 무조건 import 해줘야 합니다. 위 프로그램에서는 String과 System 클래스를 사용하기 위해서 java.lang.*;을 import 해주고 있는 거예요. 아무튼 java.lang 폴더 안에 있는 클래스는 import 해주지 않아도 바로 사용할 수 있습니다. 


다음은 클래스 이름을 볼 텐데요. 지난 글에서 프로젝트를 생성하고, 클래스 파일을 만들 때 A01이라는 클래스를 만들었습니다. 그런데 자세히 보면 A01.java 파일과 public class A01에서 "A01"이라는 이름이 같은 걸 알 수 있습니다. 


프로그램 안에는 여려 개의 클래스가 존재할 수 있지만, public class는 하나만 있어야 합니다. 그리고 그 class는 파일의 이름과 같아야 합니다. 하나의 파일에서 public 예약어는 사용하지 않아도 되지만, 사용한다면 java 파일과 이름이 같은 클래스에서만 사용할 수 있습니다. 그렇지 않으면 에러가 발생합니다. 


프로그램이 실행되면 JVM은 public 클래스를 가장 먼저 찾게 되고, 없다면 파일의 이름과 같은 클래스를 찾게 됩니다. 그리고 그 안에 있는 main() 메서드를 찾아서 실행하게 되는데, public 클래스나, 파일과 이름이 같은 클래스 안에 main() 메서드가 없다면 그 프로그램은 실행되지 않습니다. 


 다시 한 번 정리하자면...

1. public 클래스를 찾는다.

2. 파일의 이름과 같은 클래스를 찾는다.

3. public 클래스 또는 이름이 같은 클래스안에 있는 main()메서드 실행 (두 Class가 없거나, 그 안에 매인 메서드 없다면 프로그램은 실행 안됨.)


이제 main() 메서드의 형식을 살펴보겠습니다. 아직은 이 메서드의 내용은 자세히 모르지만, 일단 외워야 합니다. ^^


public static void main(String[]ar){

실행 코드...;

}


이 문장을 대.소문자 확실히 구분해서 그대로 외워야 해요. 그리고 문자열을 출력하는 System.out.println("출력할 내용"); 메서드도 외워야 합니다. 그리고 자바는 메서드의 끝에는 항상 세미콜론(;)으로 마무리 합니다.


앞으로 공부하면서 클래스와 메서드에 대해서 하나씩 정리할 텐데요. 그때 되면 이 문장들의 뜻을 정확하게 파악할 수 있을 겁니다. 지금은 무조건 외우는 수밖에 없을 거 같아요.^^


이렇게 해서 자바 파일의 import와 클래스, main() 메서드의 기본 개념을 정리해봤습니다. 아직은 뭐가 뭔지 정확하게 모르지만 하나씩 공부하면서 정리하겠습니다. 수고하셨어요.