본문 바로가기
IT_Developers/JAVA

JAVA - 자바 언어의 3가지 특징 / JVM, GC, OOP

by 고코더 2019. 8. 8.


자바 언어의 큰 3가지 특징


안녕하세요.
고코더 입니다.


오늘은 자바 언어에 가장 큰 특징
3가지를 살펴보려고 합니다.
3가지 장점이지만  사람에 따라 상황에 따라 단점일 수도 있어서
특징이라고 정의 해보았습니다.

면접때 이 3가지를 물어보면 모르는 분이 너무 많아서
제 블로그에 오신 분들은
꼭 한번씩 외워 두시길 바랍니다. 



 1. JAVA Virtual Machine



자바는 버츄얼 머신을 통해 프로그램을 실행 합니다. 
한가지 언어로 제작되면 각 OS 별로 버추얼 머신을 통해서 
각 운영체제에 맞게 해석돼 실행 가능하게 됩니다.
CPU나 운영 체제의 종류와 무관하게 동일하게 동작하게 됩니다.
JAVA라는 언어 하나로만 만들어 놓으면 새로운 운영체제에도 문제가 없다는게 장점입니다.

그러나 이게 단점인 경우도 있는게 
해당 프로그램이 JVM 통해 탑재 되기 때문에
프로그램을 거쳐가기 때문에 속도가 느릴수 도 있습니다.




 2. Garbage Collection


모든 프로그램은 메모리를 소비합니다. 그리고 컴퓨터나 디바이스는 모드 메모리 용량를 가지고 있습니다.
로직을 실행하다보면 메모리가 점유 되고 이걸 관리하지 않으면 더 이상 프로그램을 사용하기 어려워집니다.
하지만 자바는 자동으로 메모리 누수를 막아줍니다. 이런 메모리 관리는 가비지 컬렉터가 알아서 관리 합니다. 
개발자에게는 좋은 장점입니다. 

C언어 개발자들은 메모리를 해제 시키는 문법을 따로 작성하면서 메모리 관리도 하는걸 보면서 가비지 콜렉터의 편리함을 알게 되었습니다. 


쓰레기를 청소하듯 가비지콜렉트는 필요없게된 메모리를 빠르게 청소해줍니다. 



 3. Object Oriented Program


OOP는 자바가 지향하는 객체지향 언어라는 뜻입니다.  개발과 유지보수를 아주 효율적으로 진행 할 수 있는 
특징이 있습니다.  인터프린터 언어를 개발하다 자바를 개발하는 사람은 이 부분이 가장 어렵게 느껴지지만
한번 개발하고 유지보수 해보면 OOP가 얼마나 효율성을 알 수 있습니다.


마무리


자바에 특징은 다른 언어들이 가지는 특히 요즘 나오는 
언어들이 모방하는 장점들입니다.
꼭 외워두세요!



댓글