WIPIVERSE

자바 (소프트웨어 플랫폼)

자바는 Sun Microsystems가 1995년에 발표한 객체 지향 프로그래밍 언어이자, 해당 언어를 기반으로 하는 소프트웨어 플랫폼이다. 주된 구성 요소는 다음과 같다.

  1. JVM (Java Virtual Machine)

    • 자바 바이트코드를 실행하는 가상 머신으로, 운영 체제와 하드웨어에 독립적인 실행 환경을 제공한다.
    • "Write Once, Run Anywhere"(WORA) 원칙을 구현함으로써 동일한 자바 프로그램을 다양한 플랫폼에서 동작하도록 한다.
  2. JRE (Java Runtime Environment)

    • JVM과 핵심 클래스 라이브러리(standard libraries)를 포함한다.
    • 자바 애플리케이션을 실행하기 위해 최종 사용자가 설치해야 하는 환경이다.
  3. JDK (Java Development Kit)

    • JRE에 추가로 컴파일러(javac), 디버거, 문서 생성 도구(javadoc) 등 개발에 필요한 도구들을 포함한다.
    • 개발자는 JDK를 이용해 자바 소스 코드를 바이트코드로 변환한다.
  4. 표준 클래스 라이브러리

    • 컬렉션, 입출력, 네트워킹, 멀티스레딩, GUI(AWT, Swing) 등 다수의 API를 제공한다.
    • 최신 버전에서는 스트림 API, 모듈 시스템(Java Platform Module System, JPMS) 등도 포함한다.

주요 버전 및 특징

  • Java SE (Standard Edition): 기본적인 언어와 코어 라이브러리를 제공하며, 데스크톱 및 서버 애플리케이션 개발에 사용된다. 버전 1.0부터 현재(2026년 기준) 최신 LTS 버전은 Java 21이다.
  • Java EE (Enterprise Edition, 현재는 Jakarta EE): 기업용 웹·엔터프라이즈 애플리케이션을 위한 추가 사양(서블릿, JSP, EJB 등)을 포함한다.
  • Java ME (Micro Edition): 제한된 리소스를 가진 임베디드 및 모바일 디바이스용 플랫폼이다. 현재는 발전이 둔화된 상태이다.

활용 분야

  • 웹 애플리케이션: Spring, Java EE/Jakarta EE와 같은 프레임워크를 활용한 백엔드 서버 구축.
  • 안드로이드 개발: 안드로이드 SDK는 초기에는 자바를 주요 언어로 사용했으며, 현재는 Kotlin과 병행된다.
  • 데스크톱 애플리케이션: Swing, JavaFX 등을 이용한 GUI 프로그램.
  • 대규모 데이터 처리: Hadoop, Apache Spark 등 빅데이터 프레임워크가 자바 기반으로 구현돼 있다.
  • 임베디드 시스템: Java ME 및 다양한 임베디드 JVM이 소형 디바이스에서 사용된다.

생태계와 커뮤니티

  • 오라클이 현재 공식 JDK 배포와 표준 사양 관리를 담당하고 있으며, OpenJDK 프로젝트를 통해 오픈 소스 구현을 유지·보수한다.
  • 다양한 서드파티 JDK(Amazon Corretto, Azul Zulu 등)와 빌드 도구(Maven, Gradle) 및 IDE(IntelliJ IDEA, Eclipse, NetBeans) 등이 활발히 이용된다.

표준화 및 관리 기관

  • JCP (Java Community Process): 자바 사양을 정의하고 업데이트하는 공개 절차를 운영한다. JCP는 JSR(Java Specification Request) 형태로 새로운 기능이나 개선안을 제안·검토한다.

자바 플랫폼은 30년 넘게 지속적으로 진화해 왔으며, 광범위한 산업 분야에서 핵심 기술로 자리 잡고 있다.

둘러보기

더 찾아볼 만한 주제

    전체 문서 보기