Java란?

develkkm·2025년 9월 2일

0부터 시작하는 Java

목록 보기
1/27

Java 표준 스펙과 구현

Java는 단순한 언어가 아니라 표준 스펙구현체로 나눌 수 있다.

Java 표준 스펙

  • Java는 이렇게 만들어야 한다라는 설계도이자 문서다.
  • 이 표준을 기반으로 여러 회사에서 실제 동작하는 Java를 만든다.
  • Java 커뮤니티 프로세스(JCP)를 통해 관리된다.

다양한 Java 구현

  • 여러 회사에서 표준 스펙에 맞춰 Java를 개발한다.
  • 구현체마다 장단점이 있다.
    • 예: Amazon Corretto → AWS 환경에 최적화되어 있다.
  • 대부분 Windows, Mac, Linux 버전을 함께 제공한다.
  • 더 알고 싶다면 https://whichjdk.com/ko 를 참고하면 된다.

변경의 용이성

  • 구현체들은 모두 같은 표준을 따른다.
  • Oracle OpenJDK에서 Amazon Corretto로 바꿔도 대부분 문제 없이 동작한다.

컴파일과 실행

Java 프로그램은 컴파일 → 실행 단계를 거친다.

  1. 컴파일

    • .java 소스 코드를 작성한다.
    • javac 컴파일러로 바이트코드 .class 파일을 생성한다.
    • 이 과정에서 문법 오류 검출최적화가 함께 이루어진다.
  2. 실행

    • java 프로그램으로 .class 파일을 실행한다.
    • JVM(Java Virtual Machine)이 실행되면서 프로그램이 동작한다.

Java와 운영체제 독립성

일반적인 프로그램

  • 대부분의 프로그램은 특정 운영체제 전용이다.
  • 예: 윈도우 전용 프로그램은 Mac이나 Linux에서 실행되지 않는다.

Java 프로그램

  • JVM이 설치돼 있으면 어떤 OS에서든 실행 가능하다.
  • 개발자는 OS에 맞춰 코드를 작성할 필요가 없다.
  • 컴파일된 Hello.class 파일은 모든 Java 환경에서 실행된다.
  • JVM이 이 바이트코드를 읽어 각 OS와 CPU에 맞는 기계어로 변환하기 때문

개발 환경과 운영 환경

  • 개발은 주로 Windows, Mac에서 진행한다.
  • 서버 환경은 대부분 Linux를 사용한다.
  • 예: AWS에서는 Amazon Corretto를 Linux 서버에 설치해 사용한다.

Java의 운영체제 독립성 덕분에 개발과 배포 환경을 유연하게 맞출 수 있다.

profile
알던것을 더 확실하게

0개의 댓글