처음 자바를 접하면 자바와 자바스크립트를 비슷한 언어라고 생각할 수도 있다.
그도 그럴 것이 자바와 자바스크립트는 이름이 매우 유사해 자바스크립트가 왠지 자바에서 유래된 언어처럼 보인다.
결론만 말하면 자바와 자바스크립트는 다른 언어이다.
자바와 자바스크립트의 차이는 인도와 인도네시아의 차이라는 비유는 상당히 인상깊었다.
자바(JAVA) |
자바는 OOP(Object Orienter Programming) 프로그래밍의 대표적인 언어로 클래스 기반의 객체지향 언어이다.
자바는 이식성이 좋아 운영체제의 종류에 관계없이 대부분의 시스템에서 실행이 가능하다. 왜냐하면 JVM이라는 가상머신을 이용하기 때문이다. ☞ JVM에 대해서
자바는 정적 형지정, 변수 자료형이 반드시 선언되어야하며 컴파일 과정을 거친다.(소스 코드를 자바 바이트 코드로 변환) |
자바스크립트(Javascript) |
자바스크립트는 넷스케이프사에서 만든 주로 웹프로그래밍을 위한 프로토타입 기반의 스크립트 언어이다. 자바스크립트는 객체지향언어이지만 클래스의 개념이 없고 프로토타입이 있기 때문에 프로토타입 기반 언어라고 불린다.
자바스크립트는 HTML, 상호작용성과 동적 시각효과를 나타내기 위해 필요한 객체기반의 스크립트 언어이다.
자바스크립트는 자바와 달리 변수 자료형을 미리 선언하지 않아도 브라우저가 자동으로 파악한다.(var 타입으로 모든 변수 선언이 가능) 또 인터프리터 언어로서 컴파일 과정을 거치지 않는다.
*인터프리터란 사람이 이해할 수 있는 고급언어로 작성된 코드를 한 단계씩 해석하여 실행시키는 방법을 말한다. |
꼭 기억해야할 차이점은 다음과 같다.
1) 자바와 자바스크립트는 컴파일 과정이 다르다.
2) 자바는 서버측 언어이며 자바스크립트는 클라이언트용 언어이다.
+ Node.js가 등장하면서 자바스크립트를 이용한 서버와 클라이언트 개발이 가능해졌다고 합니다. 따라서 2)에서 언급한 서버측 언어, 클라이언트용 언어의 구분은 프로젝트 환경에 따라 달라질 수 있을 것 같습니다.