JAVA

[남궁성 자바기초] 1-8, 1-9강 정리

wonderson 2023. 1. 6. 14:24
반응형

간단하게 "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 파일이 생길 거다

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파일로 작성)

Hello.java 확인 시

2. javac.exe

- 자바 컴파일러

- 사람이 작성한 문장을 기계어로 번역

- 소스파일(*. java)을 클래스 파일(*. class)로 변환

(컴파일하면 JVM이 이해할 수 있는 class파일이 생성됨)

 

3. Hello.class 생성

- JVM이 알아들을 수 있는 기계어로 변환된 파일

- 사람이 알아볼 수 없는 파일

- 바이너리 파일, 이진 파일

Hello.class 확인 시

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)로부터 프로그램을 만들어내는 전 과정

반응형