딱콩이의 봄

JAVA 주요 특징💡 본문

개발/JAVA

JAVA 주요 특징💡

코린이딱콩 2022. 8. 26. 16:52

🧐자바 언어의 대표적인 특징

  • 객체지향 언어(Object Oriented Programming)
  • 멀티스레드 지원
  • OS 플랫폼 독립성
  • Garbage Collection

👉자바로 작성된 프로그램은 자바 가상 머신(Java Virtual Machine) 위에서 실행되며 이런 특징으로 인해 자바 프로그램은 어떤 운영체제(OS)에서도 실행할 수 있습니다!

프로그램의 실행구조

일반적인 프로그램의 실행구조에서 예를 들어볼게요! C언어를 기준으로 계산기 어플리케이션을 만들었습니다. 이 계산기 어플리케이션을 윈도우에서 동작시키는 버전(운영체제)과 맥에서 동작시키는 버전(운영체제)이 달라야합니다! 따라서 동일한 프로그램이지만 운영체제(os)가 무엇이냐에 따라서 다르게 제작을 해야합니다!

 

하지만 자바는 자바만의 플랫폼이 존재하는데요. 이것을 자바 가상 머신(jvm)이라고 합니다! 자바에서 제작하는 프로그램은 jvm위에서 동작하기 때문에 운영체제가 따로 필요하지 않아요!

 

🗑Garbage Collection

메모리에 객체를 만들어 저장했을 때 이것들이 해제되는 방식입니다! 클래스를 정의하고 클래스를 이용해서 인스턴스 객체를 만들었을 때 사용이 다 된 객체는 해제가 되어야 하는데 어떤 언어에서는 이 해제를 개발자가 직접 해주어야하지만, 자바는 garbage collection 이라는 기능이 있어서 개발자가 따로 해제 해주지 않아도 garbage collector 가 정리를 해줍니다! 

 

🧐JAVA Application 동작 방식

  • 일반적인 프로그램은 소스코드를 컴파일하면 컴퓨터가 직접 해석 및 실행할 수 있는 파일이 만들어집니다.
  • 작성된 코드를 번역하는 방식은 컴파일 방식과 인터프리터 방식이 있으며 자바 언어는 두 방식을 모두 수행합니다.
  • 자바 언어로 작성한 코드는 자바 컴파일러(javac.exe)를 통해 컴파일을 수행하고 그 결과물은 *. class 파일이 됩니다.
  • *. class 파일은 프로그램이 실행되면 JVM 내부에서 라인 단위로 번역되어 실행됩니다.

컴파일 방식과 인터프리터 방식의 차이는?

컴파일러를 통한 번역은 전체 내용을 한 번에 번역하는 과정이고, 인터프리터를 이용한 번역은 그 해당 코드를 한 줄 한 줄씩 번역하는 것을 인터프리터 방식이라고 합니다!

 

 

🧐Reference

나무소리님 유튜브 (자바 기초 강의 - 1-1강 자바란? 자바 소개)

https://youtu.be/ECVWw-ij5Hc

'개발 > JAVA' 카테고리의 다른 글

JAVA 주요 특징💡💡💡  (0) 2022.08.26
JAVA 주요 특징💡💡  (0) 2022.08.26
LinkedList와 ArrayList 비교  (0) 2022.08.17
HashMap과 HashTable의 차이  (0) 2022.08.16
Hash 기본 개념과 구조  (0) 2022.08.16
Comments