본문 바로가기

CS/Java

Java_01 - Hello World

프로그래밍 언어를 배울 때 가장 많이 하는 Hello World 출력을 자바로 해봅시다.

 

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

 

Hello World!

 

자바에 입문하신 것을 축하드립니다!!!

 

그런데 어떻게 Hello world!가 출력이 되는지 궁금하지 않으신가요?

자바가 실행되는 과정과 코드에 대해서 살펴봅시다

처음 보는 용어가 많아 어렵게 느낄 수 있습니다

차차 자세한 내용은 알게 될 것이니 지금은 이해가 안되어도 괜찮으니 가볍게 읽고 넘어갑시다

 

자바 코드는 어떻게 실행이 되나요?

 

.java → (컴파일) → .class → (실행) → "Hello world!" 출력

 

저희가 작성한 코드는 Main.java 파일로 저장이 됩니다

하지만 컴퓨터는 이러한 코드를 이해할 수 없기에 컴퓨터가 이해할 수 있는 기계어로 바꿔 줄 필요가 있습니다

이 과정을 컴파일이라하고 컴파일러에 의해서 진행됩니다

컴파일이 된 파일은 Main.class로 바뀌게 되고 자바에서는 JVM에 의해서 컴파일 된 파일이 실행됩니다

실행은 파일명과 동일한 Main 클래스의 main 메서드를 실행하게 됩니다

이를 위해 파일명과 public class의 클래스명은 같아야 하며 그 안에 main 메서드가 있어야 합니다

main메서드가 실행되면 그 안에 있는 println메서드에 의해서 Hello World!가 출력됩니다

 

코드를 조금 더 살펴볼까요?

 

패키지 ⊃  클래스 ⊃  변수, 메서드

 

변수는 데이터, 메서드는 기능이며 관련 있는 변수와 메서드들을 묶은 단위를 클래스라 합니다

패키지는 관련 있는 클래스들을 한 곳에 모아 놓은 것입니다

가장 바깥을 감싸고 있는 public class Main은 클래스이고

그리고 그 안에 있는 public static void main(Strint[] args)는 메서드이며

그 안에 있는 System.out.println("Hello world!")도 메서드입니다

그리고 이 코드는 System이라는 클래스의 out이라는 변수의 println이라는 메서드를 실행하라는 의미입니다

{ } 블럭 안의 코드는 한줄의 코드라는 것을 알리기 위해 코드의 마지막에 ;를 붙여줘야 합니다

 

출력 메서드 println vs print

 

출력 메서드를 하나 더 배워볼까요?

사실 눈에 띄지는 않았지만 println 메서드는 마지막에 줄바꿈을 자동으로 추가해줍니다

만약 줄바꿈을 추가하고 싶지 않다면 print 메서드를 사용할 수 있습니다

 

public class Main {
    public static void main(String[] args) {
        System.out.println("Hello world!");
        System.out.println("Hello world!");
        System.out.println();
        System.out.print("Hello world!");
        System.out.print("Hello world!");
    }
}

 

Hello world!
Hello world!

Hello world!Hello world!​

 

마지막으로 주석도 배워볼까요?

 

주석은 프로그램에 영향을 주지 않으면서 필요한 내용을 메모하기 위해서 사용됩니다

자바에서는 한 문장 주석은 //를 여러 줄은 /* */를 사용합니다

여러 줄의 경우 /** */를 사용할 경우 javadoc에 의해서 html문서로 자동 변환됩니다

 

public class Main {
        public static void main(String[] args) {
            // 한줄 주석
            
            /* 여러줄은
               이렇게 주석을
               달 수 있어요
             */

            /**
             이렇게 사용하면 Javadoc 주석을
             작성할 수 있어요
             아래의 println의 메서드의 구현을 보면
             이러한 주석을 확인할 수 있고
             인텔리제이와 같은 IDE 사용시 메서드에
             마우스를 올려도 같은 내용을 확인할 수 있습니다
             */
            System.out.println();
        }
}