1. 플랫폼 독립성
- Java로 만든 프로그램은 어느 환경에서도 실행될 수 있습니다.
- Window, Mac, Linux, etc
2. 객체지향
- Java의 모든 것들은 객체(class)로 이루어져 있습니다.
3. 거대한 생태계
- 이미 수많은 개발자들이 함께 하고 있으며 필요할 때 언제든지 도움 받을 수 있습니다.
- JDK(Java Development Kit) 자바 프로그램을 개발할 때 필요한 개발 도구 모음입니다.
JDK (Java Development Kit) ← Java 개발에 필요한 모든 것 포함 ├── JRE (Java Runtime Environment) ← Java 실행 환경 │ ├── JVM (Java Virtual Machine) ← 바이트코드 실행 │ ├── Java 라이브러리 (rt.jar 등) ← 필수 API 제공 (java.lang, java.util 등) │ ├── 클래스 로더 (Class Loader) ← .class 파일 로드 │ ├── Javac (Java Compiler) ← .java → .class 변환 ├── 기타 개발 도구 (디버거, Javadoc 생성기, JAR 도구 등)
자바컴파일러는 Java 파일을바이트코드(.class)로 변환합니다.바이트코드는 JVM이 해석할 수 있는 코드입니다.
- 바이트코드는 Java 프로그램이 실행되기 위해 변환되는 중간 단계의 코드입니다.
- JVM 만 있다면 어디서든 실행 가능합니다.(실행환경 상관 없음)
바이트코드를 해석하고 자바 프로그램을 실행시키는 역할을 합니다.- JVM은 실행환경에 관계없이 자바 프로그램을 동작 시켜줍니다.
JDK 안에는 수많은 도구들이 있으며 그 중 플랫폼의 독립성을 성립시켜주는 도구는 Javac, JVM이다.
Javac는 Java 파일을 바이트코드로 변환하고, JVM은 바이트코드를 해석 및 실행한다.
오늘이 Spring_2기 사전캠프 마지막 날이었다. 나는 아직 미흡한 점이 너무나도 많다. 이전부터 사전캠프를 진행한 분들의 TIL을 보면 지금의 나 자신이 부끄러울 정도다. 조금이라도 따라잡기 위해 본 캠프가 시작까지 남은 2일동안 Java 문법 종합반의 1장을 듣고 여유가 된다면 2장도 진행할 예정이다. 앞으로 열심히 하자! 나는 할 수 있다.