어디서든, 어떤 환경이든 가상머신이 존재하기 떄문에 Java 코드를 구현할 수 있다. 즉, JVM은 가상의 기기를 만들어주는 자바 가상 머신이다.
Java 컴파일러가 운영체제가 읽을 수 있는 readable한 코드로 바꾼 것을 바이트 코드 라고 한다.
💡 Java 컴파일러:
.java라는 파일을.class라는 파일로 변환해 주는 역할을 한다.
.java: 사람이 이해할 수 있는 코드를 의미한다.
.class: 운영체제가 이해할 수 있는 코드를 의미한다.
운영체제가 읽는 바이트 코드를 기계가 실행할 수 있는기계어로 변역하는 것
💡
Jit 컴파일러: 인터프리터의 효율울 높여주는 역할을 한다.
Java의 데이터를 저장하는 영역으로 자신의 환경(Window, Mac)에서 JVM 가상 머신이 돌아갈 수 있도록 영역을 할당해 주어야 한다.
이처럼 할당된 영역을 메모리 영역이라고 할 수 있다.
💡
클래스 로더: 바이트 코드를 메모리 영역으로 운반하는 역할을 한다.
메모리 영역에서 사용하지 않는 데이터를 제거해준다.
❗ 이를 통해 메모리 공간이 효율적으로 사용될 수 있도록 해준다.

JVM을 설치하기 위해서는 JRE 환경을 구축해야한다.
❗
JRE는 환경이기 때문에 JDK (Java Development Kit)가 필요하다.
.java를 .class로 변환해주는 Java compiler (Javac) 기능이 존재한다. 💡
디버깅: 코드를 자세히 살펴 오류를 없애는 부분
java 파일을 만들게 되면 아래와 같은 화면이 출력된다.

클래스는 .java를 .class로 바꿀 때 기준이 되는 영역이다. ❗
파일(Main.java)내의 클래스는 반드시파일명(Main)과 동일해야한다.

💡{} 들여쓰기한 것을
하위요소 (메서드)라고 한다.
❗이러한 메소드는Input과output을 가지고 있다. (생성자와의 구별점)
모든 것을 표현하기 위한 개념으로 특징과 행동을 지닌다.
이때, 특징을 속성 행동을 메서드라고 할 수 있다.

위의 그림에서
out: 객체이고println: 메소드이다.
잘 봤습니다. 정리 잘하시네요 이해 잘 됩니다.