TIL-25.11.21

이준연·2025년 11월 21일

학습 키워드

  • JDK - Java 프로그램을 개발할 때 필요한 개발 도구 모음
    • Javac(Java Compiler) - 자바코드를 바이트코드로 변환하는 역할
    • JVM - Java 프로그램을 실행하는 가상 머신
    • 바이트코드(.class) - Javac가 변환한 파일
    • 객체지향

Java의 특징

1. 플랫폼 독립성

  • Java로 만든 프로그램은 어느 환경에서도 실행될 수 있습니다.
  • Window, Mac, Linux, etc

2. 객체지향

  • Java의 모든 것들은 객체(class)로 이루어져 있습니다.

3. 거대한 생태계

  • 이미 수많은 개발자들이 함께 하고 있으며 필요할 때 언제든지 도움 받을 수 있습니다.

플랫폼 독립성 - Write Once, run anywhere!

  • 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 도구 등)

Javac(Java Compiler) - 자바컴파일러

  • 자바컴파일러 는 Java 파일을 바이트코드(.class) 로 변환합니다.
  • 바이트코드 는 JVM이 해석할 수 있는 코드입니다.
    img
  • 바이트코드는 Java 프로그램이 실행되기 위해 변환되는 중간 단계의 코드입니다.
  • JVM 만 있다면 어디서든 실행 가능합니다.(실행환경 상관 없음)

JVM(Java Virtual Machine) - 자바 가상 환경

  • 바이트코드해석하고 자바 프로그램을 실행시키는 역할을 합니다.
  • JVM은 실행환경에 관계없이 자바 프로그램을 동작 시켜줍니다.
    RubberDuck

객체지향 - 모든 것이 클래스

  • 자바의 세계는 모두 객체(클래스)로 아루어져 있습니다.
  • 자바에서 코드를 작성할 때 서로 관련있는 기능을 묶어 하나의 클래스로 관리합니다.

배운 점 정리

JDK 안에는 수많은 도구들이 있으며 그 중 플랫폼의 독립성을 성립시켜주는 도구는 Javac, JVM이다.
Javac는 Java 파일을 바이트코드로 변환하고, JVM은 바이트코드를 해석 및 실행한다.


내일 학습 계획 및 사전캠프 마지막 각오

오늘이 Spring_2기 사전캠프 마지막 날이었다. 나는 아직 미흡한 점이 너무나도 많다. 이전부터 사전캠프를 진행한 분들의 TIL을 보면 지금의 나 자신이 부끄러울 정도다. 조금이라도 따라잡기 위해 본 캠프가 시작까지 남은 2일동안 Java 문법 종합반의 1장을 듣고 여유가 된다면 2장도 진행할 예정이다. 앞으로 열심히 하자! 나는 할 수 있다.

profile
반갑습니다!

0개의 댓글