자바 자바스크립트, 엄연히 다르다? (차이점, 핵심 기능 비교)

2019.12.18

|

93010

자바 자바스크립트, 엄연히 다르다? (차이점, 핵심 기능 비교)

자바 자바스크립트는 개발자가 아닌 사람들에게도 굉장히 익숙한 개발 언어입니다. 자바? 자바스크립트? 이름만 들으면 두 개발 언어가 어느 정도 관계가 있을 거라 생각되는데요. 하지만 이 두 언어의 차이점을 잘 아는 사람들은 햄과 햄버거 그리고 카(Car)와 카펫(Carpet)의 관계라고 농담 섞어 말합니다. 과연 그 이유는 무엇일까요?
결론적으로 말하자면 두 언어는 완전히 다른 언어로, 이름이 비슷하기 때문에 서로 연관 있을 것이라 혼동되는 것일 뿐입니다. 5년 전만 해도 자바는 일반적인 프로그래밍 언어였습니다. 자바 스크립트는 웹에서의 상호작용과 애니메이션을 만들기 위해서 사용되고 있었죠. 하지만 그 이후로 자바스크립트는 더욱더 발전했고, 이제는 자바 자바스크립트를 비교하는 게 훨씬 더 어려워졌습니다.
이번 시간, 국내 1위 IT아웃소싱 플랫폼, 위시켓이 많은 분들이 궁금해하실 그 질문! 자바 자바스크립트가 어떻게 다른지에 대해 알려드겠습니다.
*위시켓은 2019년 09월 시밀러웹 방문자 수 기준, 국내 1위 IT아웃소싱 플랫폼입니다. 현재 7만개 이상의 개발업체와 개발 프리랜서들이 활동하고 있으며, 2만건 이상의 프로젝트를 진행한 경험을 바탕으로 ‘견적제공, 미팅주선, 계약서 작성과 프로젝트 진행 안내’까지 체계적인 매니징 서비스를 제공합니다. 위시켓에는 무료로 개발 프로젝트 등록이 가능하며, 자바/자바스크립트 개발자들을 만나보고 싶다면 여기를 클릭해주세요:)

자바 자바스크립트 이름의 유래

자바 자바스크립트 이름의 유래

자바 (Java)

자바라는 프로그래밍 언어는 굉장히 우연한 기회에 만들어지게 되었습니다. 선 마이크로시스템스의 연구소에서는 셋톱박스를 만들기 위해 C++ 언어를 정리하는 작업을 했는데요. 이때, 오크라는 새로운 프로그래밍 언어가 만들어집니다. 당시 선 마이크로시스템스 연구소의 마케팅팀은 오크라는 이름으로 이 프로그래밍 언어를 등록하려고 했으나, 이미 다른 회사에서 같은 이름을 등록해놓았기 때문에 그 이름을 ‘자바’로 바꾸었습니다.
자바는 프로그래밍 언어들 중에서는 두 번째로 많이 사용되고 있으며, 특히 웹 개발자들 사이에서 매우 많이 쓰이고 있지요. 자바에는 다른 언어들과는 다르게 포인터(pointer)라는 개념이 없습니다. 자바 언어에 포인터가 추가되면 오히려 보안성과 견고함이 저하되고, 언어 자체도 더욱 복잡해집니다.

자바스크립트 (JavaScript)

아직 인터넷이 초창기이던 1990년에 사람들이 가장 많이 쓰던 웹 브라우저는 인터넷 익스플로러와 넷스케이프 네이게이터였습니다. 당시에 넷스케이프 사에는 브렌던 아이크라는 개발자가 있었습니다. 그는 사용자의 입력을 받아서 컴퓨터에게 상호작용하는 명령을 내릴 수 있는 프로그래밍 언어를 하나 만들어냈습니다. 겨우 10일 만에 말입니다. 그는 이 언어에 ‘라이브 스크립트’라는 이름을 붙였고, 곧바로 네비게이터에 통합시켰습니다.
즉, 넷스케이프 네이게이터라는 브라우저는 사용자의 명령을 직접 해석했다는 뜻인데요. 다른 언어들처럼 컴파일을 할 필요도 없었고, 플러그인을 설치할 필요도 없었습니다. 비슷한 시기에 자바가 등장해서 인기를 얻어 가고 있었습니다. 다만, 자바를 실행하기 위해서는 별도의 플러그인이 필요했죠. 넷스케이프에서는 자바에서 가능성을 발견했고, 자신들이 만든 언어를 ‘자바 스크립트’라는 이름으로 바꾸게 됩니다.

잠깐, 어떤 개발언어를 선택해야할지 너무 고민된다면?

위시켓 IT전문 매니저에게 무료 컨설팅을 받아보세요. 컨설팅은 2만건의 데이터를 바탕으로 진행되며, 필요한 개발기술/ 적정한 견적/ 개발 예상 기간 등을  한번에 알아볼 수 있습니다. 프로젝트 등록과 상담 모두 무료로 진행되기 때문에, 그동안 고민했던 개발 프로젝트를 부담없이 알아볼 수 있습니다.

자바 자바스크립트 비슷한 점

자바 자바스크립트 비슷한 점
‘자바 자바스크립트’는 서로 별개의 언어이긴 하지만, 아주 기초적인 수준에서는 비슷한 부분들이 있습니다. 특히나 웹 애플리케이션을 개발하는 데 있어서 ‘자바 자바스크립트’를 비교할 때는 눈여겨볼 만한 부분들이 여러 개 있지요.
객체지향 프로그래밍(OOP): 자바 자바스크립트 모두 객체를 만들고, 객체들이 문맥 안에서 서로 관계를 갖도록 코딩을 해야 합니다. 더 나아가서, 두 언어는 모두 상속(inheritance), 캡슐화(encapsulation), 폴리모피즘(polymorphism)이라는 기법을 사용하고 있습니다.
프런트 엔드 개발: 자바 자바스크립트 모두 프런트 엔드 개발에서 주로 사용됩니다. 자바스크립트는 HTML 안에 직접 포함시킬 수 있습니다. HTML에서는 자바스크립트가 프레임워크나 라이브러리 형태로 구현됩니다. 그리고 자바는 자바 애플릿 형태로 사용됩니다.
백 엔드 개발: 자바 자바스크립트 모두 서버 쪽에서도 사용될 수 있습니다. 아파치(Apache), 제이보스(JBoss), 웹스피어(WebSphere)와 같은 강력한 백 엔드 기술에서는 오랫동안 자바를 사용해 왔습니다. 그리고 노드(Node.js)가 등장하면서, 서버 쪽에서도 자바스크립트를 사용할 수 있게 되었습니다.

자바 자바스크립트 차이점

자바 자바스크립트 차이점
자바는 1995년에 사용되기 시작한 객체지향 프로그래밍 언어입니다. 자바는 선 마이크로시스템스 사에서 개발했고, 이후에 오라클이 인수했습니다. 자바 언어를 사용해서 개발된 프로그램이나 애플리케이션은 JVM(자바 가상 기계) 위에서 실행됩니다. 기기도 다르고 운영체제가 다르더라도 JVM만 있으면 동일한 프로그램을 실행할 수 있습니다.
자바스크립트는 동적인 HTML 페이지를 만들 수 있는 객체지향 스크립트 언어입니다. 하나의 웹페이지 안에서 상호작용하는 효과를 만들 수 있지요. 구글의 크롬 자바스크립트 엔진에 ‘노드'(Node.js)가 포함되기 전까지 자바스크립트는 주로 브라우저에서만 사용되었습니다.
자바스크립트와 자바는 구성과 코딩, 실행되는 방식이 서로 다릅니다. 그리고 어떤 기능들을 수행할 수 있는지를 살펴보면, 그 차이가 더 분명하게 드러납니다.
자바는 신용카드 프로그램, 안드로이드 애플리케이션, 데스크톱 응용프로그램, 기업용 애플리케이션에 이르기까지 많은 분야에서 사용되고 있습니다. 반면에 자바스크립트는 주로 상호작용하는 웹페이지를 만드는 데 사용됩니다. 자바스크립트는 플래시를 대신해서 사용될 수도 있습니다. 또한, HTML 안에서 애니메이션 효과를 내는 것과 같은 단순한 작업에도 사용될 수 있습니다.
자바 자바스크립트 차이점 정리
각각의 프로그래밍 언어들이 어떻게 사용되는지를 간단하게 말하자면 이렇습니다. 자바는 서버 쪽의 개발에서 주로 이용되며, 자바스크립트는 인증이나 상호작용과 같은 클라이언트 쪽의 개발에 주로 사용됩니다. 자바스크립트로 작성된 코드는 바로 실행될 수 있지만 자바로 작성된 코드는 컴파일이 되어야 합니다.
자바와 자바스크립트를 실행하는데 필요한 플러그인도 서로 다릅니다. 자바스크립트로 작성된 코드는 브라우저에서만 실행됩니다. 반면에 자바를 이용해서 만든 애플리케이션은 브라우저에서도 실행될 수 있고, 가상 기계(JVM)에서도 실행될 수 있습니다.
자바는 객체지향 프로그래밍(OOP) 언어이고, 반면에 자바스크립트는 객체지향 스크립트 언어입니다. 프로그래밍을 새로 배우는 학생이라면, 자바스크립트와 자바 모두 배워 놓으면 유용한 언어라는 사실을 알게 될 것입니다. 그리고 사실, 이 두 개의 언어를 빨리 배워 놓는 것이 좋다고 많은 프로그래머들이 말하고 있습니다. 프로그래머가 자바스크립트와 자바를 모두 구사할 수 있다면, 앞으로 일자리를 얻을 수 있는 기회와 돈을 벌 수 있는 기회가 더 많아진다는 것은 분명한 사실입니다.

내 프로젝트에 어울리는 언어는 자바 VS 자바스크립트?

자바 자바스크립트 중 내 프로젝트에 어울리는 언어
다음과 같은 프로젝트는 자바를 고려해보세요!
▷ 안드로이드 앱
▷ 기업용 소프트웨어
▷ 과학 연구를 위한 컴퓨터 작업
▷ 빅데이터 분석
▷ 일반적인 하드웨어 프로그래밍
▷아파치(Apache), 제이보스(JBoss), 제로니모(Geronimo), 글래스피시(GlassFish) 등의 서버 측 기술
다음과 같은 프로젝트는 자바스크립트를 고려해보세요!
▷ 동적인 싱글 페이지 애플리케이션(SPA)
▷ 제이쿼리(jQuery), 앵귤러JS(AngularJS), 백본(Backbone.js), 엠버(Ember.js), 리액트(React.js) 등
▷ 노드(Node.js), 몽고디비(MongoDB), 익스프레스(Express.js) 등
▷ 리액트 네이티브(React Native)나 폰갭(PhoneGap) 등을 이용한 모바일 앱 개발

함께 보면 좋은 콘텐츠

자바 자바스크립트 개발, 위시켓에서 한 번에 해결하세요!

위시켓은 프로젝트 내용을 작성하는 일부터
견적과 예상기간, 개발기술 컨설팅
그리고 계약서 작성과 미팅, 프로젝트 하자보수 끝까지
IT 프로젝트 전문 매니저가 체계적으로 도와드립니다.
성공적인 IT 아웃소싱을 원하신다면, 위시켓을 이용해보세요.


> 이 글은 ‘Java vs JavaScript: Which Is The Best Choice For 2019?‘를 각색하여 작성되었습니다.

앱 개발 비용 궁금하세요?
위시켓이 바로 알려드릴게요!

java javascript 차이자바 자바스크립트자바 자바스크립트 차이자바스크립트 자바자바와 자바스크립트 차이
다음 글

위시켓 블로그의 새로운 소식 받기