본문 바로가기

Study/용어익히기

헷갈리는 IT 용어 이해하기__2. JAVA니가 먼데?

오늘은 그 유명한 자바가 왜 그렇게 유명해졌는지, 이야기 하려고 한다.

바로 JVM(Java Vertual Machine)개념 때문이다.

과거에는 운영체제의 종류가 훨씬 다양했다. 그래서 개발자가 개발해야하는 프로그래밍 언어도 굉장히 많았다. 운영체제 별로 언어가 다르면 무슨 문제가 있을까? 프로그램의 유지보수가 너무 비효율적이었다. 각기 다른 언어를 모두 배운다고 해도 운영체제 별로 언어가 다르니, 버그를 수정하거나 새로운 기능를 추가할때면 해야할 일이 너무 많았다. 10개의 운영체제가 있다면 같은 작업을 10번씩 해야하니까! 이문제를 자바가 해결한다. 바로 JVM을 이용해서!

자바를 만든 팀은 각 운영체제 위에 JVM(Java Vertual Machine) 이라는 소프트웨어를 만들었다. JVM위에서 자바언어로 만든 프로그램이 돌아갈 수 있도록 한 것이다. 그래서 JAVA로 만든 프로젝트는 운영체제와 상관이 없이, 사용자가 자신의 컴퓨터에 JVM 만 설치한다면 잘 돌아간다. 즉, 자바로만 프로그램을 만들어도 모든 운영체제에서 사용할 수 잇게 된것이다.

JVM 그게뭔데? 우리에게 생소한 개념일 수있지만, 하단의 화면은 우리가 자주 접한 화면일것이다.

우리는 이렇게 자신도 모르는 사이 JVM을 설치해왔다.

하지만 이러한 방식의 단점도있다. 바로 속도가 느리다는 점이다. 프로그램위에 프로그램이 돌아가다보니 속도에 있어서 제약이 있다. 그리고 이 속도는 모바일에서 JVM 개념의 니즈가 적은 이유가 된기도한다.

모바일은 PC와 사정이 다르다. 모바일 운영체제는 IOS와 안드로이드가 시장을 양분하고있다. 그 때문에 JVM과같은 콘셉에 대한 니즈가 적다. 프로그래밍 언어 2개만 알면 되니까.

더불어 만약 모바일 위에 특정 프로그램을 설치해서 그 위에 프로그램을 돌린다면 문제가 많다.  모바일은 PC보다 작기때문에 그 안에 들어가는 부품도한 PC보다 작을수 없다. 그래서 모바일기는 PC보다 성능이 떨어질수 밖에 없다.

이런 모바일에서 프로그램 위에 프로그램을 또 돌린다면 아주 느려질 것이다. 그래서 모바일에서는 JVM과 같은 개념이 덜 발전 되었다.

그래도 자바의 범용성 때문에 안드로이드 프로젝트시 자바를 많이 사용했지만, 요즘은 코틀린이라는 언어가 나와서 이것을 많이 사용한다고 한다. (하지만 코틀린이 나온지 얼마 안되서 아직 자바를 사용하는 회사가 많다.)




참고 : 최원영, 비전공자를 위한 이해할 수 있는 IT 지식, 티더블유아이지, 2020