▸JAVA/개발 TIP

JAVA SE/JDK/JRE/JDK 및 IDE 차이점

코데방 2019. 12. 9.
728x90

[ Java JDK 란? ]

  • Java로 된 언어를 컴파일하고 개발할 수 있도록 해주는 개발 환경의 세트를 의미함
  • Java Development Kit의 약자, 개발자를 위한 JAVA라고 할 수 있음
  • 개발자만을 위한 컴파일러, 디버깅툴 등을 제공
  • 개발자 및 사용자를 위한 JAVA인 JRE(+JVM)을 포함한 종합 툴
  • JAVA SE : C언어의 표준인 C9, C11처럼, JAVA의 표준 문법을 의미 (JAVA SE 11, 12 등)
  • JAVA EE : JAVA SE에 엔터프라이즈용 여러 기능(라이브러리 등)을 포함한 확장 버전
  • JRE : Java Runtime Environment (JAVA 버전에 따른 기본 라이브러리 포함)
  • JVM : Java Virtual Machine (자바 코드를 해석해서 프로그램을 실행해주는 가상 머신)
※ 각 프로그램 version 문제

- JAVA SE version이 가장 우선 (JAVA의 문법을 어느 version의 기준으로 할 것인가)
- JDK version은 이 JAVA SE version을 지원하는 버전이라고 볼 수 있음
- 예를 들어 현재 JDK 13.0.1은 JAVA SE 13.0.1 version에 맞춘 개발 툴이라고 보면 됨
- 이클립스 version은 이클립스에서 JDK(JAVA SE) 버전을 어디까지 지원해주는지에 대한 문제
- 즉, 이클립스에서 JAVA SE 12까지만 지원하는데 JDK 13을 깔아버리면 호환성 문제 발생 가능

 

 

복잡한 기능은 어려우니까 그냥 아래 순서로 간단히 생각하면 될 것 같습니다.

 

1. JAVA 언어로 개발을 한다. 컴파일 하고 디버깅 하고 어쩌고 하려면 JDK가 필요하다.
2. 개발을 하면서 자바에서 기본으로 제공하는 JRE 라이브러리를 사용한다.
3. 여러 가지 환경 파일도 JRE가 가지고 있지만 개발자가 직접 다룰 일은 거의 없다.
4. 실행하면 JVM에서 .class파일을 읽어서 바이너리코드를 검증하고 OS 환경에 적합하게 실행해준다.

※ 어쨌든 JDK안에 모두 다 들어 있다.
      "JDK > JRE > JVM"

※ 개발이 아닌 JAVA로 만들어진 프로그램을 실행하기 위해서는 JRE만 있으면 된다.(JVM 포함)
※ 같은 코드를 짜면 OS별로 최적화되어 있는 JVM이 알아서 환경에 맞게 실행해준다.

 

 

기본적으로 JDK를 깔면 JAVA 개발이 가능합니다. 메모장에 코드 작성하고 컴파일하면 프로그램이 실행됩니다. 하지만 우리가 메모장에 코딩을 할 순 없으니 이클립스와 같은 IDE를 사용합니다.

[ IDE란? ]

  • JDK를 설치하면 메모장으로 코딩할 수 있음
  • 메모장으로 문서를 작성하는 것과 같음
  • 문서 작성할 때 메모장은 기본적인 기능만 제공함. 맞춤법 검사 같은 편리한 기능이 1도 없음
  • 메모장으로 문서 작성할 수 있음에도 사람들은 엑셀, PPT, 워드, 한컴 등을 씀
  • 마찬가지로 코딩도 메모장으로 안하고 좀 더 편리하게 하기 위해 IDE(통합개발툴)을 씀
  • 비주얼 스튜디오, 이클립스, 파이참 같은 IDE들이 이런 편리한 코딩문서 작업기라고 보면 됨
728x90

댓글

💲 추천 글