[PL] 자바(Java)와 자바스크립트(JavaScript)의 특징 비교 : 컴파일 언어와 인터프리터 언어
웹 개발에서 HTML은 웹 페이지의 내용을 작성하여 뼈대를 형성하고,
CSS는 그것을 디자인하며, JavaScript는 웹 페이지의 동적인 동작을 담당한다.
JavaScript는 주로 웹 브라우저에서 클라이언트 측에서 실행되지만,
Node.js와 같은 프레임워크를 사용하여 서버 측 프로그래밍에서도 사용할 수 있다.
또한, 현재 대부분의 컴퓨터나 스마트폰 등에는 JavaScript 인터프리터가
내장되어 있어, 웹 페이지를 빠르고 효율적으로 실행할 수 있다.
이번에는 웹 개발에서 필수적인 언어로 자리 잡고 있는 JavaScript에 대해
인터프리터 언어와 컴파일 언어 개념을 참고하여 알아보고자 한다.
자바스크립트(JavaScript)의 특징
자바스크립트는 객체 기반의 스크립트 언어이다.
동적이며, 타입을 명시할 필요가 없는 인터프리터 언어로,
객체지향형 프로그래밍과 함수형 프로그래밍을
모두 표현할 수 있다.
인터프리터 언어 vs 컴파일 언어
프로그래밍 언어는 실행 방식에 따라
크게 인터프리터 언어와 컴파일 언어로 분류된다.
인터프리터 언어는
컴파일 작업을 거치지 않고 소스 코드를 바로 실행할 수 있는 언어를
의미한다. 소스 코드를 한 줄씩 직접 해석하여 원시 프로그램을 실행한다.
실행을 위해 매번 해석 작업이 필요하기 때문에 컴파일 언어에 비해
실행 속도가 느릴 수 있다. JavaScript, Python, PHP, Ruby, Perl 등이
인터프리터 언어에 속한다.
컴파일 언어는
소스코드를 작성한 후, 해당 파일을 컴파일(compile)하여
사용자가 실행할 수 있는 실행파일(.exe), 즉 목적 프로그램으로 변환한 후
실행하는 언어이다. 소스 코드를 목적 코드(바이너리 코드)로 변환하는 역할은
컴파일러가 수행하며, 이후에 목적 코드는 특정 하드웨어에서 직접 실행된다.
컴파일된 프로그램은 실행 시간에 추가적인 변환이 필요하지 않으므로
실행 속도가 인터프리터 언어보다 빠르다.
컴파일 언어에는 Java, C, C++, C#, Go 등이 있다.
JavaScript vs JAVA
JavaScript의 특징에 대해 알아보기 위해
대표적인 컴파일 언어인 Java와 비교해보겠다.
JAVA | JavaScript | |
분류 | 컴파일 언어 | 인터프리터 언어 |
데이터 타입 관련 |
타입 검사 엄격함 | 타입 명시하지 않음 |
주요 특징 | 클래스(Class) 기반의 객체지향 언어 |
프로토 타입(Prototype)* 기반의 객체지향 언어 |
공통점 | C언어 기반으로 문법이 만들어짐 |
*프로토 타입(Prototype) ?
프로토타입(Prototype)이란,
'원초적 형태'라는 의미로 어떤 공학적 구조의 초기형태나
시작 모델을 지칭한다. 주로 사용자와 개발자 간의 원활한
의사소통을 위한 수단으로 사용된다.
정보 시스템의 미완성 버전 또는 중요한 기능들이
포함되어 있는 시스템의 초기 모델로서 사용자의 요구사항이
정확하게 반영될 때까지 계속해서 개선과 보완이 필요한 것을
의미한다.