Hello world

Hello World

자바로 프로그래밍을 할 수 있는 준비를 마쳤으므로 첫 번째 프로그램을 만들어 본다. 일반적으로 프로그래밍 언어에서 첫 번째 프로그램은 Hello World라는 글자를 화면에 출력하는 내용으로 만든다(이유는 알 수 없다).

프로젝트 생성

FileNewJava Project를 선택하여 프로젝트를 만든다. 자바 프로젝트는 일반 폴더와는 달리 자바 개발에 필요한 기본 파일들이 생성 시 첨부되어 있다.

패키지 생성

패키지는 소스코드 파일을 분류하는 인덱스 역할을 수행한다. 일반 폴더와 달리 자바에서는 다른 패키지를 불러올 수 있다. 따라서 일반적으로 파일은 반드시 패키지를 만들고 생성하도록 되어 있다.

프로젝트 내부의 src에 우클릭하여 NewPackage를 선택한다.

이름은 test라고 짓는다.

소스코드 파일 생성

생성한 패키지를 우클릭하고 NewClass를 선택하여 소스코드를 작성할 수 있는 파일을 생성한다. 이름은 Hello로 설정한다.

생성된 파일 확인

파일이 생성되면 다음과 같은 코드가 작성되어 있다.

package test;

public class Hello {

}

샘플 코드

작성된 코드를 제외한 나머지 영역에 코드를 추가하여 다음과 같은 프로그램을 구현한다.

package test;

import java.lang.*;

public class Hello {
    public static void main(String[] args){
        //Sample Java Program
        System.out.println("Hello World!");
    }
}

샘플 코드 작성

package test;

import java.lang.*;

public class Hello {
    public static void main(String[] args){
        //Sample Java Program
        System.out.println("Hello World!");
    }
}

실행

Run 메뉴의 Run을 누르거나 단축키 Ctrl+F11을 눌러 실행한다. 다음 글자가 출력되면 성공이다.

Hello World!
System.out.println("Hello World!");

코드 설명

프로그래밍이란 앞서 설명한 것처럼 컴퓨터에게 시킬 작업을 만드는 과정이다. 따라서 작업을 시키기 위한 작업 지시서를 만들어야 하는데, 이를 소스파일이라고 볼 수 있다.

우리가 만든 프로그램은 위 작업 지시서와 유사하다. 다른 점은 문서가 아닌 자바 언어로 작성되었다는 점이다.

package

package test;

현재 소스파일의 소속을 나타내는 코드이다. 없을 경우 경로를 인지하지 못하기 때문에 오류가 발생하며, 기본적으로 작성되는 코드이니 수정할 필요가 없다.

import

import는 프로그램에서 사용할 외부 도구를 불러오는 명령이다. 위의 작업지시서에서 필요도구에 해당한다. import를 사용하여 다음의 작업을 수행할 수 있다.

  • 도구 하나만 불러오기

  • 도구가 속한 패키지 전체를 불러오기

프로그램을 아주 기초적인 것부터 다 만들 경우 시간이 오래 걸리기 때문에, 최근의 프로그램들은 프로그래밍을 하기 위해서 필요하다고 판단되는 도구들을 미리 만들어 묶음 형태로 제공하는데 이를 API라고 부른다. 자바에서도 기본적으로 제공되는 도구(이하 라이브러리)가 있으며, rt.jar라는 파일의 형태로 제공된다. 이 안에 들어있는 라이브러리 또는 내가 만든 프로그램 내의 다른 소스파일의 내용을 import를 통하여 불러올 수 있다.

import java.lang.*;

위의 코드는 java.lang이라는 이름의 패키지에 있는 모든 도구를 불러오라는 명령이며, 이 안에는 현재 프로그래밍 코드에서 사용중인 도구인 SystemString이 존재한다.

따라서 다음과 같이 작성할 수도 있다.

import java.lang.String;
import java.lang.System;

java.lang 패키지에는 프로그램 구동에 필수적인 것들이 포함되어 있기 때문에 import java.lang.*;은 반드시 작성되어야 하는 코드이다. 하지만 Eclipse와 같은 IDE에서는 이러한 반드시 필요하지만 번거로운 작업들을 자동으로 처리해주기 때문에 작성하지 않아도 실행하는데 문제가 없다.

java.lang 패키지를 제외한 다른 도구들은 반드시 import를 작성해야 하기 때문에 형태를 살펴보기 위해 작성하였다.

class

public class Hello {

}

파일을 만들면 기본적으로 생성되어 있는 구문이다. 파일과 동일한 이름을 가져야 하며, 이름을 바꿀 경우 오류가 발생한다. 이것은 자바에서 정한 규칙이기 때문에 어길 수 없다.

Hello 클래스라고 부르며, Hello.java라는 파일을 대표하는 공간 정도로 이해할 수 있다. 자세한 활용이나 응용 등은 추후 클래스 파트에서 배우므로 지금은 파일마다 한 개씩 제공되는 공간 정도로 이해하는 것이 편하다.

main method

public static void main(String[] args){

}

위와 같이 생긴 영역을 main method(메인 메소드)라 부른다. 형태는 고정이며, 반드시 클래스 내부에 위치해야 하고 하나만 만들 수 있다. 이를 지키지 않을 경우 규칙 위반이기 때문에 프로그램은 절대로 실행되지 않는다. 메인 메소드에는 작업 지시 내용을 자바 언어로 작성한다.

주석

//Sample Java Program

위의 글자는 프로그래밍 코드가 아니다. 코드를 작성하다 보면 설명을 쓰거나, 필요없는 코드를 잠시 숨겨둬야 하는 경우가 발생하는데 이 때 사용할 수 있는 도구가 바로 주석이다.

주석은 설명으로 간주되어 컴파일에서 제외되며, 프로그램에 영향을 미치지 않는다. 따라서 프로그램을 작성할 때 코드에 대한 설명을 주석으로 작성해두면 프로그램에는 영향을 미치지 않으면서 이해도를 높일 수 있다. 최근 프로그래밍에서는 주석 작성 능력을 매우 중요하게 생각하므로 작성 형태를 주의깊게 볼 필요가 있다.

한 줄 주석

//슬래시가 2개 있으면 뒷부분은 모두 주석입니다.

//를 이용하여 특정 지점의 뒷부분을 모두 주석으로 처리할 수 있다.

영역 주석

/* 시작 기호와 종료 기호를 사용하여 영역을 주석 처리할 수 있다*/

/*
    여러줄도
    주석 처리가
    가능하다.
*/

시작 기호인 /*와 종료 기호인 */를 사용하여 원하는 영역을 지정하여 주석으로 만들 수 있다.

API 주석

/**
    이 형태의 주석은 API 설명 문서를 제작하기 위한 주석이다.
*/

/**로 시작하는 주석은 API주석이라고 부르며, 프로그램 배포 시 첨부할 설명 문서를 작성할 때 사용한다. 지금은 사용할 일이 없지만 추후 따로 라이브러리 배포 과정에서 살펴보도록 한다.

실행 코드

System.out.println("Hello World!");

System 이라는 도구 안에 있는 out이라는 통로를 이용하여 println이라는 작업을 수행하는 명령이다. 이를 이해하기 위해서는 프로그래밍 내에 기본적으로 내장되어 있는 입출력의 개념을 알아야 하는데, 자세한 내용은 추후 살펴보는 것으로 하고 간단하게 정리하면 시스템 정보를 다룰 수 있는 도구 안에 있는 글자 전달 통로에 글자를 내보내는 명령이다.

" 로 감싸진 것들은 글자로 인식되며, 사이에 어떤 값을 작성해도 화면에 나오게 된다. 글자를 바꿔가며 다시 실행해보면 이해가 갈 것이다.

결론

간단한 프로그램을 만들고 싶어도 반드시 정해진 규칙을 따라야 한다. 따라서 자바에 입문하는 사람이라면 반드시 다음의 의미와 형태를 알아야 한다.

  • project

  • src

  • package

  • import

  • class

  • main method

  • System.out.println()

  • 주석

Last updated