[꼼꼼한 개발자] 꼼코더

[JAVA] - Java SE, Java EE 차이 간단하고 쉽게 이해하기(자바 플렛폼의 종류) 본문

간단하고 쉽게/JAVA

[JAVA] - Java SE, Java EE 차이 간단하고 쉽게 이해하기(자바 플렛폼의 종류)

꼼코더 2022. 12. 20. 16:32
반응형

👨🏻‍🏫 간단 정리

  1. 표준 에디션의 자바 플랫폼 (Java SE) : 데스크톱, 서버, 임베디드시스템을 위한 표준 자바 플랫폼
  2. 엔터프라이즈 에디션의 자바 플랫폼 (Java EE) : 자바를 이용한 서버측 개발을 위한 플랫폼
  3. 마이크로 에디션의 자바 플랫폼 (Java ME) : 임베디드를 위한 자바 플랫폼
  4. JavaFX : 경량 사용자 인터페이스 API를 사용하여 리치 인터넷 어플리케이션을 만들 때 사용.
  • Java EE는 Java SE에서 API(lib 디렉토리에 포함되어 있는 JAR 파일들)가 추가된 것

👀 자세한 내용은 아래


🚥 자바 프로그래밍 언어 플렛폼의 종류

Java 프로그래밍 언어에서는 4가지의 플랫폼이 존재한다.
  1. 표준 에디션의 자바 플랫폼 (Java SE)
  2. 엔터프라이즈 에디션의 자바 플랫폼 (Java EE)
  3. 마이크로 에디션의 자바 플랫폼 (Java ME)
  4. JavaFX

 

💡 플렛폼의 특성

  • 모든 자바 플랫폼들은 자바 가상 머신(JVM)과 어플리케이션 프로그래밍 인터페이스(API)로 구성되어 있다.
    • 자바 가상 머신(JVM): 하드웨어와 소프트웨어 플랫폼에서 자바 기술을 사용한 어플리케이션을 동작시키기위한 프로그램
    • 어플리케이션 프로그래밍 인터페이스(API): 개발자들이 직접 컴포넌트나 어플리케이션을 만들 때 사용할 수 있는 소프트웨어 컴포넌트의 집합
  • 각각의 자바 플랫폼에서는 JVM과 API를 제공함으로써 타겟 플랫폼상에서 동작되도록 작성된 어플리케이션들이 자바 프로그래밍 언어의 장점(플랫폼에 비종속적, 안정성, 개발 용이 등)들을 그대로 갖출 수 있게 한다.

☕️ Java SE (Standard Edition)

  • 가장 대중적인 자바 플랫폼
  • 흔히 자바 언어라고하는 대부분의 패키지가 포함된 에디션
    • java.lang.*, java.util.*, java.awt.*, javax.rmi.*, javax.net.* 등
  • Java SE의 API는 자바 프로그래밍 언어의 핵심기능들을 제공 따라서 JDBC와 GUI, 네트워크 등 각종 API를 이용해서 개발이 가능.
    • 기초적인 타입
    • 네트워킹
    • 보안
    • 데이터베이스 처리
    • 그래픽 사용자 인터페이스 개발(GUI)
    • XML 파싱
  • 가상머신, 개발도구, 배포기술, 부가 클래스 라이브러리, 툴킷 등 제공
  • 데스크톱, 서버, 임베디드시스템을 위한 표준 자바 플랫폼. 자바 가상머신 규격 및 API집합을 포함 JAVA EE,ME는 목적에 따라 SE를 기반으로 기존의 일부를 택하거나 API를 추가하여 구성된다. SE는 가장 일반적으로 사용된다. JDBC나 기본적인 기능이 모두 포함되어 있기 때문에 Android개발할때 주로 SE를 사용한다.

☕️ Java EE (Enterprise Edition)

  • Java EE 플랫폼은 Java SE 플랫폼을 기반으로 그 위에 탑재된다.
  • WEB개발을 하기 위해서 JavaEE로 개발을 진행한다.
  • 웹 프로그래밍에 필요한 기능을 다수 포함
    • JSP, Servlet, JDBC, JNDI, JTA, EJB 등
  • 대규모, 다계층, 확장성, 신뢰성, 보안 네트워킹 API, 환경 등을 제공
  • 자바를 이용한 서버측 개발을 위한 플랫폼. 기존 SE에 웹 애플리케이션 서버에서 동작하는 분산 멀티미디어를 제공하는 자바의 기능을 추가한 서버를 위한 플랫폼. JAVA SE에 서버측을 위한 기능을 부가하였기 때문에 SE기능을 모두 포함한다.

☕️Java ME (Micro Edition)

  • Java ME는 모바일 폰과 같은 자바 프로그래밍 언어 기반의 어플리케이션이 보다 조그만 가상 머신으로 동작시킬 수 있는 기능과 API 제공
  • Java EE 처럼 Java SE를 기반으로 함
  • 작은 작치에서 동작하는 전용 클래스 라이브러리들 제공
  • Java EE 서비스의 클라이언트 역할을 하기도 함
  • 임베디드를 위한 자바 플랫폼이다. Java ME 또는 J2ME 등으로 불림 제한된 자원을 가진 휴대전화, PDA, 세트톱박스 등에서 Java프로그래밍 언어를 지원하기 위해 만들어진 플랫폼

☕️ Java FX

  • 하드웨어 수준에서 가속 기능을 사용할 수 있는 그래픽과 미디어 엔진을 갖추고 있어 클라이언트의 성능에 신경을 써야하는 분야에서 사용됨
  • Java EE 처럼 클라이언트 역할을 하기도 함
  • 경량 사용자 인터페이스 API를 사용하여 리치 인터넷 어플리케이션을 만들 때 사용된다. JavaFX 어플리케이션은 하드웨어 수준에서 가속기능을 사용할 수 있는 그래픽과 미디어 엔진을 갖추고 있어 보다 클라이언트의 성능에 신경을 써야하는 분야에서 사용하면 좋다.

 

참고 : https://lkt01010.tistory.com/179

참고 : https://kbj96.tistory.com/38

참고 : https://doozi316.github.io/java/2020/07/01/WEB20/

 

 

 

 

 

Comments