chapter01. 자바 시작하기

예은·2021년 6월 7일
0

JAVA

목록 보기
1/1

📢 개요

본 포스팅은 신용권, 임경균님의 이것이 자바다 서적과 백기선님의 자바 기초 스터디를 follow-up 한다.


📌 목차

  1. 고급 언어와 저급 언어
  2. 컴파일
  3. 바이트 코드
  4. JVM

1. 고급 언어와 저급 언어

프로그래밍 언어는 고급 언어저급 언어로 구분된다.

고급 언어란 사람이 쉽게 이해할 수 있는 프로그래밍 언어 를 말하며, 고급 언어로 작성된 소스 파일은 컴퓨터가 바로 이해할 수 없기 때문에 컴파일 이라는 과정을 통해서 컴퓨터가 이해할 수 있는 기계어로 변환 후 컴퓨터가 사용하게 된다. 반대로 저급 언어란 기계어에 가까운 언어 를 말하며, 대표적으로 어셈블리어가 저급 언어에 속한다.

내가 앞으로 공부하게 될 자바는 사람이 이해하기 쉬운 고급 언어에 속하며, 고급 언어로 작성된 소스 코드(.java)컴파일러를 통해 바이트 코드(.class) 로 변환 후, JVM이라는 가상 머신을 통해 실행된다.


2. 컴파일

수업을 통해 자바 프로그래밍 을 수강해 본 사람이라면 아마 한 번쯤은 커맨드 창을 통해 컴파일을 해보지 않았을까 싶다. 이해를 돕기 위해 컴파일 과정을 직접 경험해보자.

2-1. 클래스를 작성해보자

본인은 Hello World! 를(느낌표 없으면 섭함) 출력하는 간단한 Main 클래스 하나를 작성했다.
그리고 특정 경로에 Main.java 라는 이름으로 파일을 저장했다.
이 과정은 사람이 쉽게 이해할 수 있는 고급 언어 를 이용해 소스 코드 를 작성한 행위이다.

public class Main {
	public static void main(String[] args) {
		System.out.println("Hello World!");
	}
}

2-2. 자바 버전을 확인해보자

작성한 .java 파일을 컴파일 하기 위해서는 자바 컴파일러가 포함된 JDK가 설치되어있어야 한다.
컴파일을 수행할 환경에 JDK가 설치 되어있는지 확인하기 위해 아래 명령어를 입력해보자.

java -version

이는 PC에 설치된 자바 버전을 확인하기 위한 명령어로, JDK가 설치되어 있지 않은 경우 오류가 발생한다.
본인은 이미 오래 전에 JDK 설치를 해 놓았기에 명령어를 쳤을 때 아래와 같은 결과가 나온다.

2-3. 컴파일을 해보자

2-2가 정상적으로 실행되었다면 Main.java 파일이 저장된 경로로 이동해보자.
저장된 파일의 내용을 cat 명령어를 통해 확인하고, 이상이 없다면 아래 명령어를 통해 컴파일을 수행하자.

javac Main.java

아무 오류도 찍히지 않았다면 ls 명령어를 통해 Main.class 파일이 생성되었는지 확인한다.
Main.class 파일이 생성 되었다면 컴파일을 성공한 것이다.


3. 바이트 코드

바이트 코드 는 가상 머신이 이해할 수 있는 언어로 변환된 소스 코드 이다.
앞서 컴파일을 통해 변환된 .class 파일이 바로 이 바이트 코드에 해당되는 것이다.
이렇게 변환된 바이트 코드는 JVM에 의해 OS에 맞는 기계어로 다시 변환되어 실행된다.


4. JVM

JVM이란 Java Virtual Machine 의 약자로, 자바를 실행하기 위한 가상 기계이다.
바이트코드(.class) 를 OS에 맞는 기계어 로 변환하여 자바 애플리케이션을 실행시켜준다.

이제 실습을 통해 생성된 Main.class 파일을 아래 명령어를 통해 실행시켜보자.

java Main

Hello World! 라는 결과가 성공적으로 출력되었다.
눈에 보이진 않지만 JVM이 내부적으로 class 파일을 기계어로 변환하여 실행한 것이다.


마무리

2023년도 1분기엔 자바를 다시 정리하며 한 해를 시작하고자 한다.
파릇파릇했던 시절도 어느덧 지나 물만 먹은 5년차가 된 나...
이 결심이 얼마나 오래 갈진 모르겠지만
고이지 않기 위해 다시 공부하자!는 마음으로 작성한 첫 포스팅
다음 포스팅에선 JVM의 구조와 동작 원리에 대해 다뤄봐야겠다!😇

profile
소소한 일상을 담는

0개의 댓글