작은 고양이의 캣 타워

0 _4. 자바의 종류(Java SE, Jakarta EE, Java ME, Java FX)

by J4BEZ

이번 글 또한 꽤 알록달록한 편이에요 현재 가독성 패치 중입니다

 

+자바의 종류

자, 이번 시간에는 '자바의 종류'에 대하여 알아볼 거예요.

자바 언어의 플랫폼은 자바 가상 머신인 JVM과 개발하는데 도움이 되는 함수들을 모아둔 도서관API로 구성되어 있고, 개발 분야에 따라 크게 4가지로 나뉘어 Java SE, Jakrta EE ( Java EE ), Java ME, Java FX 등으로 나누어서 제공되고 있어요.

 

1. Java SE(Java Standard Edition): 가장 기본이 되는 친구예요!

- 가장 기본이 되는 표준 에디션의 자바 플랫폼으로 자바 언어의 핵심 기능을 제공해요.

- Java SE의 API는 자바 언어의 기본적인 자료형[(정수)int, (실수)float, (실수)double, (글자)char, (문장)String]객체[ex). Cat ragdoll = new Cat(); ]에서 부터 네트워킹, 보안, 데이터베이스 접근, 그래픽 사용자 인터페이스(GUI)개발

물론, 사용자가 입력한 XML 문서를 읽어 들여 다른 프로그램에 사용할 수 있도록 변환시켜주는 XML 파싱에 사용되는 고 수준의 클래스까지 모두 정의해요.

 

- Java SE주요 패키지로는 기초이면서도 가장 중요하고 또 가장 많이 쓰이는 java.lang.*

파일이나 데이터를 관리하는데 도움을 주는 java.io.* , 여러 유용한 도구들을 제공해주는 java.util.* ,

버튼의 입력과 같은 이벤트를 처리해주는 java.awt.* 와 이 외에도 javax.rmi.* , javax.net.* 과 같은 친구들이 모여있어요.

이 친구들이 정확히 어떠한 친구들인진 나중에 차근차근히 더 알아가 보기로 해요:D

 

2. Jakrta EE( 구 Java Enterprise Edition | Java EE): 기업에서 사용하기 위해 현실 업무를 위한 기능들이 집약된 친구예요!

- Java SE를 기반으로 하여 그 위에 탑재된 플랫폼으로, Jakarta EE만의 API를 추가로 가져와야(Import) 사용할 수 있어요.

- 이 친구는 주로 자바로 서버 측 개발을 하기 위해 필요한 친구로 자바로 구현되는 웹 프로그래밍에서 가장 많이 사용되는 JSPServlet을 포함하여, 데이터베이스에 연동하는 JDBC 외에도 JNDI , JTA , EJB 등 과 같이 기업용 애플리케이션을 개발하는데 필요한 여러 가지 도구들과 라이브러리들이 포함된 플랫폼이에요.

 

3. Java ME(Java Micro Edition): 작은 기기들을 위한 친구예요!

- 피쳐폰, PDA폰, 셉톱박스, 프린터와 같은 작은 임베디드 기기들에서 구동되기 위한 환경을 제공하는

API들을 포함하여 모아둔 플랫폼이에요!

- 작고 귀여운 친구들 속에서 돌아가야 하기 때문에 가벼워진 Java SE의 부분 집합에 모바일 장치를 위한

특수 클래스 라이브러리가 추가된 친구예요!

- 과거 2G 폰 시절 유행하던 피쳐폰 게임들 한 번씩 해보신 기억들 있으시죠? (피쳐폰? 그게 뭐냐구요? 그런 게 있어요 ㅎㅎ)

그 시절의 피쳐폰 게임들 중 핸드폰 번호 011, 017, 019에서 구동되던 게임들이 Java ME를 기반으로 제작된 게임들이에요!

- 각각의 OS(ex. Android OS, IOS, Black Berry 등)를 가지고 있는 스마트 폰이 대중화된 지금은 잘 쓰이지 않는 친구예요.

(앞으로 임베디드 시장이 크게 발전하게 되면 다시 부흥할 가능성이 있을지도 모르겠네요 <- 편집자의 생각입니다 )

 

4. Java FX: 가볍고 예쁜 그래픽 사용자 인터페이스(GUI)를 제공해주는 친구예요!

- 가벼운 UI(사용자 인터페이스) API를 사용하여 컴퓨터 응용 소프트웨어웹 상에서 마치 컴퓨터 내부 환경과 같은 빠른 응답 속도와 쉬운 기능을 제공하는 웹 제작 기술인 RIA(Rich Internet Application)를 개발하고 배포할 때

이용하는 플랫폼이에요!

- 고성능의 하드웨어 그래픽 가속과 미디어 엔진 API를 제공해주어서 프로그램의 성능에 신경을 써야 하는

분야에서 사용하면 좋아요!

- 자바가 지원하던 이전 버전의 GUI(그래픽 유저 인터페이스) 들과 비교해보며 얼마나 세련되게 발전했는지 알아보기로 해요!

- Java SE 8 버전 까지는 Java SE의 부분 집합인 JDK 속에 내장되어 함께 제공되어서 Java SE의 일부였던

JRE(Java Runtime Environment | 자바 실행환경)Java FX를 위한 실행환경 까지 있어야 사용할 수 있는 친구였어요.

 

하지만, 이후 Java SE 11 버전부터 Oracle(오라클)로 부터 JRE가 제공되지 않기로 결정되고,

Java FXGluon이라는 회사가 지원하게 되면서, JavaFX 11부터는

이전 버전의 Java FX처럼 JDK에 함께 포함되어 제공되는 게 아닌 Java 9 버전부터 추가된

' 자바 모듈 시스템(Java Module System) '이라는 방법으로 JDK에 따로 추가 설치할 수 있는 모듈로 제공되게 될 거예요!

[조금 더 쉽게 말하자면, 당연히 함께 제공되던 기능이 프라페의 휘핑 과 같이 선택적 추가 설치 로 바뀐거에오] 

 

이외에도 스마트카드나 메모리가 제한된 기기의 어플리케이션을 위한 보안 플랫폼인 ' Java Card '나

Java ME 기반으로 TV나 셋톱박스와 같은 기기 위에 돌아가는 자바 프로그램 개발을 지원하는 ' Java TV '와 같이

정말 다양한 종류의 자바 플랫폼들이 있어요! 정말 대단하죠?

 

자, 그럼 마무리 정리 겸 Java SE, Jakarta EE, Java ME, Java FX로 벤 다이어 그램을 그려볼게요

벤 다이어그램에서 틀린 부분을 발견하신다면 댓글로 꼭 남겨주세요! 여러분의 관심이 아깽이 개발자가 캣초딩 개발자로 성장하는데 도움이 됩니다.

자, 지금까지 여러 목적으로 세분화 되어 제공되던 '자바 플랫폼의 종류'에 대해 알아보았는데요,

다음 시간에는 자바의 변화와 발전, 그리고 역사를 알아보는 '자바의 버전'을 공부해보는 시간이 되도록해요!

모두들 수고하셨습니다!

 

 

도움받은 글: 시후 아빠님의 지식in 답변 , ZDNet Korea 뉴스 , 수란님의 지식in 답변  , 210Life님의 블로그 , JavaWorld 

마지막 수정 19.09.13

 

 

블로그의 정보

작은 고양이의 캣 타워

J4BEZ

활동하기