천천히 빛나는

자바 vs 자바스크립트 본문

JAVA/JAVA

자바 vs 자바스크립트

까만콩 •ᴥ• 2023. 7. 14. 21:33

자바와 자바스크립트의 차이를 검색하면 모두 전혀 다른 언어라는 글들이다. 여기서 그냥 둘은 다른 언어구나! 하고 넘어가기에는 두 언어 모두 '자바'라는 말이 포함되어있기에 그렇다면 도대체 왜 자바와 자바스크립트는 비슷한 이름을 가지고 있을까? 하는 의문이 들었다.

 

자바는 주로 서버 측 개발에 사용되는 언어이고 자바스크립트는 주로 클라이언트 측 웹 개발에 사용된다. 자바는 일반적인 프로그래밍 언어와 같다고 생각하면 되고 자바스크립트는 웹에서의 상호작용과 애니메이션을 만들기 위해 개발된 언어이다. 혹시 클라이언트 측 웹 개발을 조금이라도 해봤다면, HTML과 CSS 그리고 자바스크립트를 주로 사용하는 것을 알게 되는데 HTML에는 변수나 조건문 같은 프로그래밍의 기본 요소가 존재하지 않는다. 그래서 'JavaScript'와 같은 프로그래밍 언어와 함께 사용해야 한다.

 

전혀 관련 없어보이는 두 언어가 비슷해 보이는 이유는 단순히 자바스크립트의 마케팅 목적이다. 자바의 인기를 이용해서 마케팅을 할 목적으로 지은 것이다.

 

굳이 예를 들자면 인도와 인도네시아, 자동차와 홍차가 있다.

 

 

자바(Java) vs 자바스크립트(JavaScript)

 

1. 용도

자바: C, C++,과 같은 일반적인 프로그래밍 언어이다

자바스크립트: 웹 페이지에서 동적인 기능을 추가하는 클라이언트 웹 개발에 주로 사용된다

 

여기서 동적인 기능이란 버튼 클릭, 마우스 이동, 키 입력과 같은 이벤트에 대한 처리를 추가할 수 있는 것이다. 또한 에미일 주소 형식이 올바른지, 필수 입력 필드가 비어있는지 등을 확인할 수 있다. 애니메이션 효과와 같이 페이드인/아웃을 구현할 수 있다.

자바는 정적인 언어인데 정적 타입 언어(Static typing)은 변수 선언 시 타입을 명시적으로 지정해주어야 한다. 예를 들어 int num;과 같이 명시한다. 여기서 드는 의문, 그럼 Python은 뭘까? 바로 동적 타입 언어이다. 파이썬에서는 num = 0으로 바로 변수를 사용한다. 

 

정적/동적 언어에 대해 자세히 알고 싶다면 밑에 분 티스토리를 읽어보세요!

 

정적 타입 언어, 동적 타입 언어 :: Python?

타입이란 자료형입니다. int형, float형, double형, string형, 객체 등이 있습니다. 정적 타입 언어 타입(자료형)이 고정된 언어입니다. 정적언어는 자료형을 컴파일 시에 결정하는 것입니다. 따라서 소

redthing.tistory.com

 

추가로, 정적 타입 언어는 변수 타입을 컴파일 시점에 결정하고 동적 타입 언어는 변수의 타입을 런타임 시점에 결정한다.

여기서 컴파일 (complie)이란 기계가 읽을 수 있는 형태로 변환되는 과정을 뜻한다. 

예를들어 .exe 파일 같은 것이 기계가 읽은 형태인 것이다.

 

런타임 (runtime)이란 프로그램이 동작되어지는 때를 뜻한다. exe 파일을 실행시키는 과정이다. 예를 들어 배열 a의 크기가 5인데 print(a[100])을 하면 실행도중에 에러가 발생한다. 

 

2. 실행 환경

자바: 컴파일일러를 사용하여 기계어로 변환된 후, Java Virtual Machine (JVM)에서 실행된다

자바스크립트: 웹 브라우저에서 실행된다. HTML 문서에 직접 포함하거나 외부 스크립트 파일로 분리하여 사용한다

 

3. 타입

자바: 정적 타입 언어

자바스크립: 동작 타입 언어

 

 

'JAVA > JAVA' 카테고리의 다른 글

Java 기초 : 제어문  (0) 2023.07.25
Java 기초 : 메소드와 API  (0) 2023.07.25
Java 기초 : 변수  (0) 2023.07.21
IntelliJ : 프로젝트 생성 (Hello World 출력)  (0) 2023.07.18
Java, IntelliJ : 개요 및 개발환경 구축  (0) 2023.07.15