일반적인 Java 프로그램은 다음과 같은 요소들로 구성됩니다.
- 패키지 선언(Package declaration)
- 임포트 문(Import statements)
- 주석(Comments)
- 클래스 정의(Class definition)
- 클래스 변수, 지역 변수
- 메서드(Methods) / 동작(Behaviors)
패키지 선언(Package Declaration)
Java의 클래스는 사용되는 모듈에 따라 서로 다른 디렉터리/패키지에 배치될 수 있습니다. 하나의 부모 소스 디렉터리에 속한 모든 클래스에 대해, 소스 디렉터리로부터의 경로가 패키지 선언으로 간주됩니다.
임포트 문(Import Statements)
작업 중인 Java 프로젝트의 다른 폴더/패키지에 작성된 클래스들도 있고, 개인이나 기업 등이 만들어 공개한 유용한 클래스들도 많습니다. 이러한 클래스를 사용하려면 해당 클래스를 임포트(import)해야 합니다. 하나의 프로그램에서 여러 개의 클래스를 임포트할 수 있으므로, 임포트 문도 여러 개 작성할 수 있습니다.
주석(Comments)
Java의 주석은 변수, 메서드, 클래스 또는 기타 문장에 대한 정보를 제공하는 데 사용됩니다. 또한 특정 시점까지 프로그램 코드를 숨기는 용도로도 활용할 수 있습니다.
클래스 정의(Class Definition)
Java 파일의 클래스에는 이름을 지정해야 합니다. 이 이름은 다른 클래스나 프로그램에서 클래스의 객체(object)를 생성할 때 사용됩니다.
변수(Variables)
변수는 프로그램 실행 과정에서 필요한 매개변수의 값을 저장합니다. 수정자(modifier)와 함께 선언된 변수는 서로 다른 범위(scope)를 가지며, 이 범위가 변수의 생명 주기를 결정합니다.
메인 메서드(Main Method)
Java 애플리케이션의 실행은 메인 메서드(main method)에서 시작됩니다. 즉, 메인 메서드는 Java 런타임(Java Run-time)에서 시작되는 클래스 또는 프로그램의 진입점(entry point)입니다.
메서드 / 동작(Methods / Behaviors)
프로그램 실행 중 여러 번 반복해서 수행해야 하는 목적에 맞는 기능을 구현하는 명령어들의 집합입니다. 동일한 기능이 필요할 때마다 같은 명령어 집합을 반복해서 작성하지 않도록, 해당 명령어들을 하나의 메서드 안에 묶어 둡니다. 메서드의 동작은 변수 값을 전달함으로써 활용할 수 있습니다.
예제 코드
package abc; // 패키지 선언
import java.util.*; // 임포트 문 선언
// Java의 기본 구조를 이해하기 위한 샘플 프로그램입니다. (주석 부분)
public class JavaProgramStructureTest { // 클래스 이름
int repeat = 4; // 전역 변수(global variable)
public static void main(String args[]) { // 메인 메서드
JavaProgramStructureTest test = new JavaProgramStructureTest();
test.printMessage("Welcome to Tutorials Point");
}
public void printMessage(String msg) { // 메서드
Date date = new Date(); // 메서드 내 지역 변수
for(int index = 0; index < repeat; index++) { // index는 for문 내 지역 변수
System.out.println(msg + "From" + date.toGMTString());
}
}
}실행 결과(Output)
Welcome to Tutorials Point from 2 Jul 2019 08:35:15 GMT Welcome to Tutorials Point from 2 Jul 2019 08:35:15 GMT Welcome to Tutorials Point from 2 Jul 2019 08:35:15 GMT Welcome to Tutorials Point from 2 Jul 2019 08:35:15 GMT
위 예제에서 볼 수 있듯이, repeat 변수가 4이므로 printMessage 메서드가 네 번 호출되어 동일한 메시지가 네 줄 출력됩니다. 이처럼 Java 프로그램은 패키지 선언부터 시작해 임포트, 클래스 정의, 변수, 메인 메서드, 그리고 재사용 가능한 메서드들로 체계적으로 구성됩니다.