Java

[Java/자바] 자바란?

F12:) 2023. 7. 3. 09:44

오늘은 자바에 대해서 간단하게 소개한다. 그에 따라 자바의 특징 네 가지에 대해서 구체적으로 설명한다.

 

1. 자바란?

자바는 프로그래밍 언어이다. 여러가지 프로그래밍 언어(JS, Python, C++, PHP 등) 중에서 대표적인 객체지향 프로그래밍 언어이다.

(객체 지향에 대해서는 나중에 설명한다.)

 

아래는 프로그래밍, 프로그래밍 언어와 관련된 기초적인 용어에 대한 설명 및 특징을 나열한다.

-> 프로그래밍 : 컴퓨터로 프로그램을 만드는 일

-> 프로그램 : 컴퓨터에서 특정 작업을 수행하는 명령어들의 모음

-> 프로그래밍 언어

  • 명령어를 만들기 위해 프로그래밍 언어를 사용
  • 사람이 컴퓨터와 의사소통할 수 있는 도구
  • 특정 작업의 흐름대로 컴퓨터가 수행할 수 있도록 프로그래밍 언어를 작성

-> 소스 코드 : 프로그래밍 언어로 작성한 명령어 

-> 소스 파일 : 프로그래밍 언어로 작성하여 저장한 파일

-> 기계어 : 실제로 컴퓨터가 이해할 수 있는 언어로, 0과 1로 이루어진 이진코드

-> 컴파일러 : 프로그래밍 언어로 작성된 명령어를 기계어로 번역하는 역할(컴파일)

 

 

그럼 간단히, 자바가 실행 되는 과정을 확인해보자

1. 우선 사용자가 자바로 소스 파일을 작성한다.

2. 자바 컴파일러가 자바 언어로 작성된 소스파일(*.java)을 바이트 파일(*.class)로 컴파일한다.

   바이트 파일이란?

     -> 단순히 자바 소스 코드를 바이트 코드로 컴파일한 것.

     -> 이 바이트 파일은 기계로 번역되는 과정에서 번역을 담당하는 JVM이 조금 더 수월하게 진행될 수 있도록 하기 위함이다.

3. JVM이 바이트 파일을 기계어로 번역하고 실행한다.

   JVM이란?

     -> Java Virtual Machine으로 자바 가상 기계를 의미한다.

     -> 위에서 언급된 것처럼 바이트 파일을 기계어로 번역하는 역할을 한다.

 


2. 자바의 특징

앞서 언급된 바, 자바의 네가지 특징에 대해 소개한다.

 

1. 운영체제에 상관 없이 모든 환경에서 실행이 가능하다.

위에서 언급한 자바가 실행되는 과정을 떠올려보자. 자바 컴파일러가 자바 소스파일을 바이트 파일로 만든 뒤에 JVM을 이용해 기계어로 번역하는데 만약 이 JVM이 각 환경별로 잘 마련되어 있다면, 어떤 환경에서도 자바가 실행 가능하다.

 

2. 안정성이 높다.

사람이 메모리를 직접 관리하지 않고, 자바의 가비지 컬렉터(Garbage Collector)가 자동으로 메모리를 효율적으로 관리해주기 때문에 메모리 누수의 위험 없이 안정적으로 프로그램을 구동할 수 있다.

 

3. 오픈소스가 풍부하다.

자바에는 무료로 사용할 수 있는 오픈소스가 다양이 있다. 기본 기능 뿐만 아니라 통신, 다양한 툴 등을 이용하여 프로그램 개발을 빠르게 할 수 있다는 장점이 있다.

 

4. 객체 지향 프로그래밍 언어이다.

프로그래밍 설계 측면에서의 '객체 지향'을 의미한다. 이와 같은 설계 측면에서 객체 지향이라는 패러다임이 존재하는데, 자바는 객체 지향 설계에 적합하게 설계되어 있다. 객체 지향적으로 설계를 한다면 개발 유지보수가 좋고, 확장성이 좋다는 장점이 있다.