[Java] 1.3 첫 번째 프로그램 “Hello, World” – 3. 소스 설명

//Hello, World 프로그램

Java 언어에서는 프로그램의 논리 전개를 개발자가 이해하기 쉽게 주석을 작성할 수 있습니다. 주석은 단순히 프로그램의 논리를 설명하기 위한 것이고 Java 바이트 코드에는 포함하지 않습니다. Java에서의 주석은 [//주석 혹은 /* 주석 */]으로 표현할 수 있습니다.

import java.util.Scanner;

Java 언어로 프로그램을 작성할 때는 제공하는 기술을 사용할 수 있습니다. 이 때 사용하려는 것의 이름의 충돌을 방지하기 위해 namespace를 포함하여 충돌을 방지합니다. 개발에서 간단한 이름을 사용하기 위해 import 문을 이용할 수 있습니다.

public class Program {
}

Java 언어로 프로그램을 작성할 때 데이터와 수행할 일에 관한 문법을 이용합니다. Java언어는 관리할 데이터의 종류에 따라 형식을 정의할 수 있는데 대표적인 것이 class입니다. Java 언어의 특징을 말할 때 개체 지향 프로그래밍 언어라고 말하는데 개체 지향을 위해 반드시 필요한 것이 class 입니다. 이 책의 많은 부분은 class에 관한 설명이 될 것입니다.

//진입점 메서드
public static void main(String[] args){
}

Java로 작성한 프로그램을 실행할 때 개발자가 정의한 코드 중에 시작하는 부분이 있어야 합니다. 이를 진입점이라 말하며 정적[1] 메서드 main입니다.

//문자열 출력
System.out.println("Hello World");

Java에서는 콘솔 화면에 출력할 때 사용할 수 있는 System.out의 다양한 버전의 print 메서드를 사용할 수 있습니다.

//입력 개체 생성
Scanner scanner = new Scanner(System.in);

Java에서는 입력 스트림에서 데이터를 입력받는 Scanner 클래스를 제공하고 있습니다. 그리고 특정 클래스 형식의 개체를 생성할 때는 new 키워드와 클래스 이름과 생성에 필요한 인자를 사용합니다. 이처럼 형식 이름과 같은 이름의 메서드를 성성자라 부릅니다. 기본 입력(키보드)에서 입력받는 Scanner 개체를 생성하려면 System.in 을 입력 인자로 전달하여 Scanner 개체를 생성합니다.

//입력
scanner.nextLine();

Scanner 형식 개체인 scanner에는 스트림에서 데이터를 입력받는 다양한 버전의 메서드를 제공합니다. nextLine은 엔터를 칠 때까지 입력한 문자들의 집합을 문자열로 반환하는데 여기서는 단순히 입력 대기를 위해 사용한 것이라 nextLine 메서드에서 반환한 문자열을 사용하지 않았습니다.

[1] static 키워드가 붙어 있는 것을 정적이라 말합니다.