간단하게 "Hello, world."를 출력하는 자바 프로그램을 작성해 보자
먼저 Hello.java 이름으로 메모장을 만들어주고 아래 내용을 입력한다.
class Hello {
public static void main(String[] args) {
System.out.println("Hello, world.");
}
}
작성한 자바 프로그램을 cmd창에서 실행해 보자
cd Hello.java가 있는 디렉터리로 이동후
dir로 현재 디렉터리에 모든 파일을 확인하면 Hello.java 가 있다.
그리고 javac.exe로 Hello.java를 실행하면 Hello.class 파일이 생길 거다
실행한 명령어
- javac로 컴파일 할 때는 확장자를 입력하지만 java로 실행할 때는 확장자를 입력하지 않는다.
실행 순서
1. Hello.java 작성 | 2. javac.exe -> 컴파일 |
3. Hello.class 생성 | 4. java.exe -> 실행 |
5. "Hello, world." 출력 |
1. Hello.java 작성
- 사람이 알아볼 수 있는 파일 (여기서는 txt파일로 작성)
2. javac.exe
- 자바 컴파일러
- 사람이 작성한 문장을 기계어로 번역
- 소스파일(*. java)을 클래스 파일(*. class)로 변환
(컴파일하면 JVM이 이해할 수 있는 class파일이 생성됨)
3. Hello.class 생성
- JVM이 알아들을 수 있는 기계어로 변환된 파일
- 사람이 알아볼 수 없는 파일
- 바이너리 파일, 이진 파일
4. java.exe
- 자바 인터프리터
- 자바 프로그램(클래스 파일)을 실행
5. "Hello, world." 출력
자바에서 모든 코드는 반드시 클래스 안에 존재해야 한다.
(클래스 - 자바 프로그램의 단위, 자바 프로그램은 클래스들로 구성
자바 프로그램은 최소한 하나 이상의 클래스가 있어야 한다.)
클래스 작성
class 클래스 이름 {
/*
주석을 제외한 모든 코드는 클래스의 블럭{} 내에 작성해야한다.
*/
}
// package문과 import문은 예외적으로 class의 밖에 작성
'public static void main(String[] args)'는 main 메서드의 선언부이다.
(메서드 - 서로 관련된 여러 문장들을 하나로 묶어놓은 것)
프로그램을 실행할 때 'java.exe'에 의해 호출될 수 있도록 미리 약속된 부분이므로 항상 똑같이 적어주어야 한다.
class 클래스 이름 {
public static void main(String[] args) { // main 메서드의 선언부
// 실행될 문장들을 적는다.
}
}
- 하나의 자바 애플리케이션에는 main메서드를 포함한 클래스가 반드시 있어야 한다.
- main메서드는 Java애플리케이션의 시작점이므로 main메서드 없이는 Java애플리케이션은 실행될 수 없다.
자바 프로그램의 실행 과정
java Hello
-> 내부적인 진행순서
1. 프로그램의 실행에 필요한 클래스(*.class파일)를 로드한다.
2. 클래스 파일을 검사한다.(파일형식, 악성코드 체크)
3. 지정된 클래스(Hello)에서 main(String[] args)를 호출한다.
---
Build
소스파일(*.java)로부터 프로그램을 만들어내는 전 과정
'JAVA' 카테고리의 다른 글
[남궁성 자바기초] Math class의 Method 정리 (0) | 2023.01.11 |
---|---|
참조형 타입 (reference type) (0) | 2023.01.08 |
[남궁성 자바기초] 1-1~1-7강 정리 (0) | 2023.01.04 |
[JAVA_Study] 스터디 4일차 -2 (네트워킹) (0) | 2022.06.23 |
[JAVA_Study] 스터디 4일차 -1 (컬렉션 - 스택, 큐, ArrayDeque) (0) | 2022.06.23 |