자바와 자바스크립트 차이는 이라는 질문에 대하여

Mixer·2023년 6월 9일
0

이전 기술면접 도중 자바와 자바스크립트의 차이에 대해 설명해달라는 질문을 받았는데
이게 생각보다 훨씬 답변하기가 애매했다.

미리 정리해서 막힘없는 답변을 해보도록해야겠다


자바와 자바스크립트

자바와 자바스크립트는 서로 별개의 언어이긴 하지만, 아주 기초적인 수준에서는 비슷한 부분들이 있습니다.
특히 웹 애플리케이션을 개발하는 데 있어서 '자바'와 '자바스크립트'를 비교할 땐 눈여겨 볼 만한 부분들이 여러가지 있습니다.

객체지향 프로그래밍(OOP): 두 언어 모두 객체를 만들고, 객체들이 문맥 안에서 서로 관계를 갖도록 코딩을 해야 합니다. 조금 더 들어가면, 두 언어 모두 상속(inheritance), 캡슐화(encapsulation), 폴리모피즘(polymorphism)이라는 기법을 사용하고 있습니다.

  • 상속(inheritance): 반복적인 코드를 사용하지않고, 코드를 재사용하는 방법을 뜻한다. 코드를 재사용하여 소프트웨어 개발 기간과 시간을 단축 시킨다.
    Class 기반 언어에서는 클래스는 객체의 형식이 정의되어 있고, 클래스를 활용하여 객체를 생성한다.

  • 캡슐화(encapsulation): 캡슐화와 관련된 변수와 함수를 하나의 클래스로 묶고 외부에서 쉽게 접근하지 못하도록 은닉하는 것이 핵심이다.
    객체에 직접적인 접근을 막고 외부에서 내부의 정보에 직접 접근하거나 변경할 수 없고, 객체가 제공하는 필드와 메소드를 통해서만 접근이 가능하다.

  • 폴리모피즘(polymorphism): 다형성을 뜻하며, 하나의 객체가 여러 개의 자료형 타입을 가질 수 있는 것을 의미한다.

자바는 개발된 프로그램이나 애플리케이션은 JVM 위에서 실행이 된다.
기기도 다르고 운영체제가 다르더라도 JVM만 있으면 동일한 프로그램을 실행할 수 있다.

자바스크립트는 동적인 HTML 페이지를 만들 수 있는 객체지향 스크립트 언어이며, 하나의 웹페이지 안에서
상호작용하는 효과를 만들 수 있다.


각 상황에 맞게 사용하면 좋은 것은?

자바

  • 안드로이드 앱
  • 기업용 소프트웨어
  • 과학 연구를 위한 컴퓨터 작업
  • 빅데이터 분석
  • 일반적인 하드웨어 프로그래밍
  • Apache, JBoss, Geronimo, GlassFish 등의 서버 기술

자바스크립트

  • 동적인 싱글 페이지 애플리케이션 (SPA)
  • JQuery, Angular JS, Backbone js, Ember js, React js 등
  • Node.js, MongeDB, Express.js 등
  • 리액트 네이티브, 폰갭 등을 이용한 모바일 앱 개발
profile
Minthug'life

0개의 댓글