본문 바로가기

01. Java/01. 기본개념

자바 개발 도구

jdk와 jre에 대해서 용어와 jdk 안에 jre가 있다 정도만 알고 있어서 관련 내용 공부하다가 다른 내용들도 정리하였다.

 

참고

https://www.booksr.co.kr/product/%EB%AA%85%ED%92%88-java-programming%EA%B0%9C%EC%A0%954%ED%8C%90/

 

명품 JAVA Programming (개정4판) | 생능출판사

명품 자바를 사랑해주시는 많은 교수님들과 독자들께 감사드립니다. 2017년 7월에 개정3판이 나오고, 두 달도 지나지 않아 Java 9가 출시되었습니다. 그리고 급기야 올해 3월에는 Java 10이 출시되었

www.booksr.co.kr

 

 

https://www.yes24.com/Product/Goods/23117533

 

어서와 JAVA는 처음이지! - 예스24

더 이상 이론에 지쳐 JAVA를 포기하지 말자프로그램을 배운다는 것은 나를 표현하는 또 하나의 언어를 습득하는 일이다. 내 뜻대로 알고리즘을 만들어내고, 생각했던 대로 결과물이 산출되는 것

www.yes24.com

 

 

자바는 개발 분야에 따라 Java SE, Java EE, Java ME,Java FX 등으로 나누어서 제공된다.

 

● Java SE (Standard Edition)

 Java SE는 자바 언어의 핵심 기능을 제공한다. Java SE API는 자바 언어의 기본적인 자료형과 객체에서부터 네트워킹, 보안, 데이터베이스 접근, 그래픽 사용자 인터페이스, XML 파싱에 사용되는 고수준의 클래스까지를 모두 정의한다.

Java SE 1.8 (출처: http://www.oracle.com/technetwork/java/javase/tech/index.html)

 

● Java EE (Enterprise Edition)

 Java EE는 Java SE 플랫폼 상에 구축된다. Java EE는 기업용 애플리케이션을 개발하는데 필요한 여러 가지 도구 및 라이브러리들을 모아 놓은 것이다. 이 패키지는 응용 서버, 웹 서버, J2EE API, 엔터프라이즈 자바 빈즈(JavaBeans) 지원, 자바 서블릿 API와 JSP 등을 포함한다. Java EE는 엔터프라이즈급의 서버 지향 구조(SOA)나 차세대 웹 애플리케이션을 구현하고 업계 표준이 되어가고 있다.

 

 

● Java ME (Micro Edition)

 Java ME 플랫폼은 핸드폰, PDA, TV 셉톱박스, 프린터와 같은 모바일 기기나 다른 임베디드 장치들에서 실행되는 애플리케이션을 위한 환경을 제공한다. Jave ME에 기반을 둔 애플리케이션은 많은 장치간에 이식이 가능하며 성능이 저하되지 않는다. 현재는 안드로이드가 거의 잠식했지만..

 

● Java FX

JavaFX 플랫폼은 애플리케이션 개발자들이 더 쉽게 리치-인터넷-애플리케이션 (RIA : Rich Internet Application)을 생성하고 배포하기 위한 자바 클라이언트 플랫폼이다. 자바 기술에 기반을 두는 JavaFX 플랫폼은 고성능의 하드웨어 가속 그래픽과 미디어 엔진 API를 제공하여 엔터프라이즈 클라이언트의 개발을 쉽게 한다.

 

 

자바로 만들수 있는 것

 

● 자바 애플리케이션 (Java Application)

 자바 애플리케이션은 독립적으로 실행될 수 있는 일반 응용 프로그램이다. 자바에는 다른 언어보다 상대적으로 풍부한 클래스 라이브러리가 존재한다.

 

● 자바 애플릿 (Java Applet)

 애플릿(applet)은 application과 let(작다)을 조합한 합성어라고 할 수 있다. 자바 애플릿은 단독으로 실행되지 않고 웹 브라우저 안에서 실행되는 작은 자바 프로그램이다. 최근에는 보안 단점 때문에 사용하지 않는 추세이기 때문에 여기까지만.

 

● 자바 서블릿 (Java Servlet)

 서블릿은 서버에서 동작하는 서버 모듈로서 클라이언트의 요구를 받아서 그에 대한 처리를 한 후에, 실행 결과를 HTML 문서 형태로 클라이언트 컴퓨터로 전송한다. CGI와 유사한 역할을 하지만 CGI보다 효율적이다. 서블릿은 자바로 작성되기 때문에 자바가 제공하는 수많은 장점 및 기능을 제한없이 사용할 수 있다.

 

● JSP (Jakarta Server Pages, 이전 명칭: 자바 서버 페이지(Java Server Pages))

 저번에 JSP를 검색했는데 무슨 자카르타 서버 페이지가 뜨길래 뭔가 했더니 명칭이 바뀌었다. HTML 안에 자바 코드를 넣으면 웹페이지를 사용자와 상호작용하도록 만들 수 있다. JSP는 서버에서 실행되고 결과는 HTML로 사용자에게 보여진다. JSP는 서블릿으로 변환되어서 실행된다.

 

● 자바 빈즈(Java beans)

 자바로 작성된 컴포넌트를 자바 빈즈(Java beans)라고 한다. 객체 지향 프로그래밍에서, 컴포넌트는 애플리케이션을 형성하기 위한 프로그램 빌딩 블록이다. 컴포넌트는 같은 컴퓨터 또는 분산 네트워크 내의 다른 컴퓨터 내에 있는 다른 컴포넌트들과 결합될 수 있고, 재사용이 가능하다. 컴포넌트를 조립하면 애플리케이션을 빠르게 만들 수 있다.

 

※ 컴포넌트(component)

 여러 개의 프로그램 함수들을 모아 하나의 특정한 기능을 수행할 수 있도록 구성한 작은 기능적 단위.

 

 

 우리가 자바 프로그램을 개발하기 위해서는 자바 컴파일러가 있어야 한다. 일반적으로 자바 컴파일러와 디버깅 도구, 각종 유틸리티 등의 프로그램 개발 도구들을 JDK(Java Development Kit)라 부른다. 

 

 JDK와 JRE라는 용어를 자주 볼 수 있는데 차이점을 살펴보자.

 

● JRE (Java Runtime Environment) 

 JRE는 자바 프로그램을 실행하기 위한 라이브러리, 자바 가상 기계, 기타 컴포넌트들을 제공한다. 자바 프로그램을 실행만 하고 개발은 하지 않는 일반인들을 위한 환경이다.

 

● JDK (Java Development Kit)

 JDK는 JRE에 자바 프로그램을 개발하는데 필요한 컴파일러, 디버거와 같은 도구들을 추가한 것이다. JDK 안에 JRE가 포함되어 있음을 유의하자. 우리는 개발자이므로 JDK가 필요하다.

 

이런 느낌 ^^

 

 JDK는 컴퓨터 안에 몇 개의 폴더를 생성한다. 

 

다음은 bin 디렉토리에 들어 있는 주요한 개발 소프트웨어들이다.

 

ㆍjavac

자바 컴파일러로 자바 소스를 바이트 코드로 변환

 

ㆍjava

자바 프로그램 실행기. 자바 가상 기계를 작동시켜 자바 프로그램 실행

 

ㆍjavadoc

자바 소스로부터 HTML 형식의 API document 생성

 

ㆍjar

자바 클래스 파일을 압축한 자바 아카이브 파일(.jar) 생성, 관리

 

ㆍjmod

자바의 모듈 파일(.jmod)을 만들거나 모듈 파일의 내용 출력

 

ㆍjlink

응용프로그램에 맞춘 맞춤형(custom) JRE 생성

 

ㆍjdb

자바 응용 프로그램의 실행 중 오류를 찾는데 사용하는 디버거

 

ㆍjavap

클래스 파일의 바이트 코드를 소스와 함께 보여주는 디어셈블러

'01. Java > 01. 기본개념' 카테고리의 다른 글

Escape Character (이스케이프 문자, 제어 문자)  (0) 2023.11.30
파일 입출력  (0) 2023.11.25