프로그래밍 언어를 배울 때 가장 많이 하는 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();
}
}
'CS > Java' 카테고리의 다른 글
Java의 컴파일 방식과 JVM 구조 (1) | 2024.12.01 |
---|---|
String, StringBuffer, StringBuilder의 차이와 사용법 (0) | 2024.11.22 |
JAVA SOLID 원칙 가이드: 코드 예제로 보는 5가지 원칙 (1) | 2024.10.13 |
자바의 날짜와 시간 클래스 (0) | 2024.10.06 |
Java_02 - 변수(Variable)_01 (0) | 2024.01.31 |