Java와 JavaScript, 무엇이 다를까?

Y.Joo·2022년 9월 15일
0

Computer Science

목록 보기
1/4

면접에서 'Java와 JS의 가장 큰 차이가 무엇이라고 생각하나요?'
라는 질문을 들었다. 세상 멍청한 표정으로 '어..Java는 객체지향언어이고..JS는 웹브라우저에서 사용하는 언어 아닌가요? 하하..' 라고 답변하면서 내가 쓰는 언어에 대해 제대로 이해도 못하고 있다는 걸 그때 깨달았다. 이참에 제대로 공부해서 위기를 기회로 만들어보자😭

Java와 JavaScript 사이의 주요 차이점

Java는 OOP프로그래밍 언어인 반면, Java Script는 OOP 스크립팅 언어입니다.
Java는 가상 시스템 또는 브라우저에서 실행되는 응용 프로그램을 작성하는 반면, JavaScript 코드는 브라우저에서만 실행됩니다. Java 코드는 컴파일이 필요하지만, JavaScript 코드는 모두 텍스트입니다.

Java 홈페이지에 작성된 설명이다. 눈여겨보아야 할 부분은 Java는 컴파일이 필요하지만 JS는 그렇지 않다는 것이다. 나의 답변이 영 부실했는지 면접관이 '컴파일러와 인터프리터의 차이는 아시죠?'라며 설마 이걸 모른다고 하지는 않겠지🧐 하는 표정으로 물어봤으나 어색하고 웃고 말았다ㅠ...너덜너덜하게 털렸지만 덕분에 무얼 공부해야하는지 알았으니 그걸로도 충분하다고 생각하기로 했다.

컴파일러과 인터프리터

컴파일러(Compiler)
프로그래밍 언어를 런타임 이전에 기계어로 해석하는 작업 방식이다. 런타임 이전에 어셈블리 언어로 변환하기 때문에 구동 시간이 오래 걸리지만, 구동된 이후는 하나의 패키지로 빠르게 작동하기 때문에 구동 시에 코드와 함께 시스템으로부터 메모리를 할당받고 메모리를 사용하게 된다. 대표적으로 C, C++, Java가 있다.

컴파일 오류발생 ➡ 코드 수정 ➡ 컴파일 ➡ 실행 후 확인

인터프리터(Interpreter)
프로그래밍 언어를 기계어로 바로 바꾸지 않고, 중간 단계를 거친 뒤 런타임에 즉시 해석한다. 대표적으로 JavaScript가 있다.

인터프리터 오류발생 ➡ 코드 수정 ➡ 실행 후 확인

설명이 좀 어려운 듯 싶은데 간단히 말하면 인터프리터는 실시간으로 바로바로 번역해주는 느낌이고 컴파일은 코드를 이해한 후에 통역해주는 방식이다. 실시간이냐 실시간이 아니냐의 차이 같음

profile
풀스택 개발자가 되어보자🤸🏻‍♀️

0개의 댓글