[Java] JDK, JRE, JVM 뿌수기 그리고 자바 패키지 생성 및 실행 과정

2025. 1. 9. 16:08·Java
🔑새로운 시작

💡 JDK, JRE, JVM의 관계


📃 JDK는 Java Development Kit의 줄임말로서 자바를 개발할때 필요한 다양한 툴을 내포하고 있습니다. 대표적으로 javac는 java 소스코드를 컴파일 할때 사용하는 컴파일러이고, 뿐만 아니라 문서 생성 도구(javadoc), 디버거(jdb) 도 포함됩니다. 

📃 JRE는 Java Runtime Environment의 줄임말로 자바 애플리케이션을 실행하기 위한 환경입니다. 

📃 마지막으로 JVM (Java Virtual Machine)은 자바 바이트코드(.class 파일)를 기계가 이해할 수 있는 코드로 변환하여 실행합니다

https://velog.io/@itonse/JDK-JRE-JVM-%EA%B0%84%EB%9E%B5-%EC%A0%95%EB%A6%AC

 

💡 플랫폼 독립적


📃 혹시 Mac을 사용해 보셨다면, .exe 파일이 열리지 않아 당황했던 경험이 있을 수 있습니다. .exe 파일은 Windows 전용 실행 파일로, Mac에서는 실행되지 않습니다. 대신, Mac에서는 .dmg 파일과 같은 실행 파일 확장자를 사용합니다. 이런 특징을 플랫폼 종속적이라고 합니다.

반면, Java의 주요 특징 중 하나는 플랫폼 독립성입니다. Java는 어떤 운영체제에서 코드를 작성하더라도, JVM(Java Virtual Machine)을 통해 다양한 운영체제에서 동일하게 실행할 수 있습니다. 예를 들어, Java 프로그램은 Windows, Mac, Linux 등에서 파일을 읽고 쓸 수 있도록 호환됩니다

 

💡 자바 패키지 생성 및 코드 실행


📃 이번에는 자바에서 간단하게 프로젝트를 생성하는 방법을 배워보겠습니다. IDE는 이클립스를 사용했습니다.

⬆️ 일단 File => New => other... => java project를 선택해줍니다. 그리고 Next를 눌러 Java Setting 으로 이동한 뒤, 필요한 설정을 확인합니다

⬆️ 그리고 Finish 눌러서 생성해줍니다. Finish 이후에 나오는 팝업은 Open Perspective 누르시면 됩니다

⬆️ 그 생성된 프로젝트 아래의 src 폴더에서 오른쪽 클릭 후 New => Package를 선택해 새 패키지를 생성합니다

⬆️ Test 폴더의 트리 구조는 다음과 같습니다. bin은 컴파일되는 .class 파일들이 생성되는 폴더이고, src 폴더는 java파일이 저장됩니다

⬆️ 방금 생성한 패키지 위에서 오른쪽 클릭 후 New => Class를 선택하여 새 클래스를 생성합니다

⬆️ 트리를 다시 확인해보면, 각각에 폴더에 .class 파일과 .java파일이 생성된 것을 볼 수 있습니다

package mypackage;

public class Test {
	public  static void main(String [] args) {
		System.out.println("hello world");
	}
}

⬆️위와 같이 코드를 작성하고, Run을 클릭하면,  IDE 하단의 console창에서 hello world가 출력되는 것을 볼 수 있습니다

 

💡 (추가) 패키지 명명 규칙


📃 패키지 명명 규칙 요약

  1. 점(.)으로 디렉터리 구분
    • 패키지 이름에 포함된 점(.)은 디렉터리 구조를 나타냅니다
  2. 파일 구분 수단으로 사용
    • 패키지는 자바 파일을 구분하는 용도로 사용됩니다
  3. 유일한 패키지 이름 필요
    • 패키지 이름은 다른 패키지와 겹치지 않도록 고유하게 설정해야 합니다
  4. 도메인 이름의 역순 사용
    • 고유성을 확보하기 위해 보유 중인 도메인 이름을 역순으로 표기합니다
    • 예:
      • naver.com → com.naver.MyTest
      • daum.com → com.daum.MyTest
저작자표시 비영리 변경금지 (새창열림)
'Java' 카테고리의 다른 글
  • [Java8] 코딩 기초 트레이닝 Day 20 highestOneBit(), stream(), HashMap 활용
  • [Java 8] 코딩 기초 트레이닝 Day 19 split & 정규식, ArrayList
  • [Java 8] 프로그래머스 코딩테스트 연습 split(), replace()
  • [Java] Null & 예외 (Exception) 기초 및 정의 | Checked & Unchecked
Jelong
Jelong
커스텀 웹: https://jaehong-park.com Github: https://github.com/qkrwoghd04
  • Jelong
    24/7 Developer's Note
    Jelong
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Software Engineering
      • Ubuntu
      • Network
      • JavaScript
      • Web
      • Interaction Design
      • React Native
      • React
      • Algorithm
      • Java
      • Database design
      • IT Trend
      • TroubleShooting
      • AWS
      • Interview
      • LG CNS AM CAMP 1기
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    티스토리챌린지
    frontend
    css
    AWS
    BST
    GPT-4
    미니넷
    자바
    ChatGPT
    java
    이진트리
    javascript
    오블완
    mininet
    Queues
    알고리즘 분석
    자바스크립트
    알고리즘
    블랙 박스 테스트
    html
    typescript
    데이터 구조
    JS
    소프트웨어 공학
    expo
    prototyping
    화이트 박스 테스트
    React
    heap
    generic
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
Jelong
[Java] JDK, JRE, JVM 뿌수기 그리고 자바 패키지 생성 및 실행 과정
상단으로

티스토리툴바