[인용 및 참고 출처]
1. 단행본: "자바 프로그램 개발 과정", 신용권, 『혼자 공부하는 자바』, 한빛미디어, 2021, 23쪽~24쪽, (2025.01.30)
2. 단행본(1번과 동일): "6가지 키워드로 끝내는 핵심 포인트", 13쪽, (2025.01.30)
3. 사전: "compile", Longman Dictionary, (2025.01.30)
Java Virtual Machine, 일명 '자바 가상 기계'란 개념을 예전에 학습한 느낌이 들어 찾아보니 개발 분야 공부에 막 돌입한 시기에 정리했다. 다른 개념은 정리하는 데 시간이 많이 걸릴 듯하여 우선 오늘은 좀 쉬고 JVM을 간단하게 복습했다.
여기서 바이트 코드 파일은 개발이 완료된 자바 프로그램 형태를 의미한다. 자바는 JVM을 사용하기 때문에 윈도우 운영체제에서 개발한 프로그램을 별도로 수정하지 않고 리눅스 운영체제로 옮겨서 바로 실행할 수 있다. 즉, javac 명령어로 컴파일(compile)된 바이트 코드 파일은 JDK가 설치된 어떠한 운영 체제에서도 java 명령어로 똑같이 실행할 수 있다. 각 운영체제의 JVM이 바이트 코드 파일을 해당 운영체제에서 실행할 수 있는 기계어로 번역해서 실행해 주기 때문이다.
설명에서 나온 용어는 다음과 같이 정리할 수 있다.
(1) 기계어(machine language): 컴퓨터가 이해하고 실행할 수 있는 0과 1로 이루어진 코드. 사람은 기계어를 이해하기 매우 어렵기 때문에 사람의 언어와 기계어를 이어주는 다리가 필요하다. 이 다리가 바로 프로그래밍 언어이고, 자바(Java)는 프로그래밍 언어 중 하나이다.
(2) 소스 파일(source file): 프로그래밍 언어로 작성된 파일
(3) 컴파일(compile): 소스 파일을 기계어로 번역하는 작업. 컴파일을 담당하는 소프트웨어는 컴파일러(compiler)라고 한다. 단어 컴파일(compile)은 '서로 다른 정보나 음악 같은 요소를 모아서 책, 목록, 기록 등을 만들다', 즉 '엮다, 편집하다'를 의미한다. 따라서 컴퓨터 분야에서는 '소스 파일을 가공하여 실행할 수 있는 기계어 프로그램으로 엮어 내는 과정'이라고 볼 수 있다.
(4) JDK: Java Development Kit. 자바 개발 도구로, 자바로 프로그램을 개발할 수 있는 실행 환경인 JVM과 컴파일러 같은 개발 도구를 제공한다.
'끝을 보는 용기' 카테고리의 다른 글
Day 118 - 게임 아이템 거래소 프로젝트 25%, 코드 한 줄 쓸 때마다 '지금이 최선일까?' 고민하다 (0) | 2025.02.01 |
---|---|
Day 117 - 게임 아이템 거래소 프로젝트 10%, 기록 팀장은 감기에 걸려도 기록을 포기하지 못한다. (0) | 2025.01.31 |
Day 115 - '왜 생겼을까?' 계속 물어보며 TCP와 HTTP를 공부하다. (0) | 2025.01.29 |
Day 114 - 느긋하게 테스트 코드를 공부하고, 이름이 신기해서 @Slf4j를 알아보다. (0) | 2025.01.28 |
Day 113 - 플러스 프로젝트 과제 제출, 예비 개발자로서 휴일을 보내는 가장 완벽한 방법 (0) | 2025.01.27 |