자바 기본기 정리

유승선 ·2023년 2월 6일
0

자바 독학

목록 보기
2/10
post-thumbnail

문제를 풀고 웹개발을 하면서 자바라는 프로그래밍 언어를 사용하는게 익숙했지만 막상 이론적인 부분이랑 자세하게 다루는 방법을 C++처럼 경험치로 쌓아올린게 아니라 정말 야매로 배운거기때문에 천천히 정리해본다.

자바 시작하기

1. 자바

자바 프로그램은 C++을 배웠을때처럼 컴파일러를 사용하는 언어이다. High Level Programming Language, 즉 사람이 이해하기 쉬운 언어이지만 기계어(0과 1)로 번역 후 OS가 실행하기 위해서는 컴파일러를 거쳐야 한다는 뜻이다.

자바 프로그램을 실행하기 위해서는 .java 파일을 생성하고 자바 언어로 코드를 작성해야 한다. 이렇게 소스 코드를 만들면 아까 얘기한 컴파일러인 javac 명령어로 컴파일 하게 된다. 컴파일 과정이 성공하면 확장명이 .class인 바이트 코드 파일이 생성된다.

바이트 코드 파일은 완전한 기게어가 아닌 중간 단계에 파일이라고 생각하면 된다. 이것을 완전한 기계어로 번역하기 위해서는 java 명령어를 실행해야 하는데 이때 JVM이라는 프로그램이 기계어를 번역한다.

2. 바이트 코드와 자바 가상 기계

자바 프로그램은 소스코드를 작성하고 .java 파일이 컴파일 되면은 .class라는 바이트 코드를 생성하게 된다. 바이트 코드 파일은 완전한 기계어가 아닌 중간단계라고 생각해야 한다. 그렇기 때문에 바로 실행 불가능 하고 자바 가상 기계, (JVM) 이라는 번역기가 필요하다.

JVM은 나중에 더 깊게 다룰 생각인데 JVM을 사용하는 이유는 .class의 바이트 코드 파일을 다양한 운영체제에서 수정하지 않고 사용할 수 있도록 하기 위함이다.

예를 들어서 윈도우 운영체제에서 .class 바이트코드를 생성하고 리눅스로 옮겨서 사용하는 상황을 생각해보자. 이제 여기서 기계어로 번역된느 과정은 윈도우용 JVM 혹은 리눅스용 JVM으로 나뉘어지는것이다. 즉, 개발자는 운영체제와 상관없이 자바 프로그램을 개발할 수 있는것이다.

3. 용어 정리

  • 바이트 코드 파일 : 자바 소스 파일을 javac 명령어로 컴파일한 파일
  • JVM : 바이트 코드 파일을 운영체제를 위한 완전한 기계어로 번역하고 실행하는 역활을 한다. JVM은 java 명령어에 의해 구동된다.

출처

모든 글의 출처는 Backtony 님의 블로그를 참고하고 있다.

profile
성장하는 사람

0개의 댓글