JAVA : Hello의 동작원리

<angeLog/>·2024년 3월 10일

JAVA

목록 보기
2/6
post-thumbnail

Hello.java

1.클래스 선언

public class Hello{
...
}

위 코드는 "public class로 정의된 Hello 클래스"라고 할 수 있다.
public class의 클래스 이름과 파일명은 반드시 동일해야한다. (대소문자 구분)
만약 Hi.java라면 public class는 Hi로 정의되어야 한다.

2.메소드 선언

  public static void main(String[] args){
    ...
  }

클래스는 필드Field와 메소드Method를 가질 수 있다.
프로그램이 시작하려면 main 메소드가 반드시 존재해야하며, 이 부분은 java로 만든 프로그램의 시작점이다.

3.System클래스, out, print()

System.out.println("Hello");
  • "큰 따옴표"로 감싸져 있지 않고, 첫 번째 문자가 대문자로 시작 = 클래스 이름
  • 어떤 문자(소괄호) 형식 = 메소드 : print() = print method
  • 소문자로 시작하는 문자가 있고 (소괄호)가 붙지 않는 형식 = 필드field : out = out field

즉, 코드를 읽어본다면
System안에println("Hello")이라는 메소드를 가진 outfield가 존재한다고 볼 수 있다.
👉🏻Java System API

요약

// Hello 클래스 = 파일명 Hello
public class Hello{
	// main이라는 메소드 존재
  public static void main(String[] args){
  	// System안에 println메소드를 가진 out 존재
    System.out.println("Hello");
  }
}

컴파일

  • Java파일을 컴파일 하기위해서는 반드시 javac라는 프로그램이 필요
javac Hello.java
  • 터미널에서 위 명령어를 실행하면 Hello.java를 읽고 컴파일 진행
  • 컴파일 성공시 Hello.class 파일이 생성, 실패시 error 메세지 출력
  • Hello.class와 같은 class파일 = 바이트 파일 = 사람은 읽을 수 없는 컴퓨터를 위한 문서

java는 어떤 CPU/운영체제에서도 동일하게 작동되는 것을 목표로 두었기 때문에, 이진법으로 이루어진 기계어와 인간이 사용하는 언어의 중간인 바이트bite 파일로 컴파일이 된다.

즉, Java로 작성된 파일 = 컴파일된 클래스 = 바이트파일 이다.

실행

바이트 파일을 실행하려면 JVM(Java Virtual Machine)이 필요하다.
JVM은 CPU/운영체제에 맞게 설치된 JDK안에 있다.

Java Development Kit, JDK
자바 애플리케이션을 구축하기 위한 핵심 플랫폼 구성요소다. 이 중심에는 자바 컴파일러(Compiler)가 있다.
👉🏻JDK란 무엇인가?

JVM은 java명령어로 바이트 파일안의 바이트 코드를 읽어들여 실행되는데 java명령어를 실행할때 파일의 확장자는 입력하면 안된다.

java Hello

JVM은 바이트 코드를 한 줄 씩 읽으며 기계어로 번역한다. = Interpreter방식

컴파일러와 인터프릿의 차이

인터프릿 : 코드를 한 줄씩 읽어 내려가며 실행
컴파일러 : 코드 전체를 읽어서 기계어로 번역

profile
일단 해볼게요!✍🏻

0개의 댓글