필자는 프론트엔드를 공부 하고 있는데요. 그래서 여태
javascript
를 배우다가, 백엔드를 들어가기에 앞서 기본적인 백엔드 언어인java
를 또 배우게 되었습니다.그래서 해당 블로그의
java
섹션에는javascript
와의 차이점을 예로 들어java
의 특징에 대해 설명하려 합니다.
java
를 흔히정적 언어
라고 표현을 하는데요. 변수를 선언할 때 데이터의 타입을 따로 선언하지 않는javscript
와는 다르게java
에서는 선언과 동시에 데이터의 타입을 선언해주어야 한다는 차이점을 가지고 있죠.
- Javascript의 변수 선언
let name = Re_Go let age = 30; let height = 179.9; const marriage = false; let arr = [1,2,3,4,5] let obj = {name : "Second Name" , age : 30}
- java의 변수 선언
String name = "박종민"; int age = 30; float height = 179.9f; boolean marriage = false; int[] arr = {1,2,3,4,5} Person person = new Person("Re_Go", 30);
이처럼 변수의 선언에 있어서 할당되는 데이터의 상태에 따라 변수의 타입이 동적으로 변화하는
javascript
와는 달리,java
에서의 변수 선언 단계에서 각각 그 데이터에 맞는 타입을 직접 지정해 주어야 한다는 특징을 가지고 있기 때문에, 이 둘을 두고 동적 언어와 정적 언어의 차이점을 알 수 있는 것이죠.
javascript
는 웹브라우저 뿐만 아니라node
가 깔려있는 환경이라면 어디서든 실행이 가능한데요.java
또한 운영 체제가 다르더라도 JDK(Java Developement Kit)에 포함되어 있는JVM(java virtual machine)
실행 환경을 이용해 독립적인 플랫폼 환경에서 획일적인 자바 코드를 변환 및 실행할 수 있도록 도와준다는 특징을 가지고 있습니다.
- 노드의 실행 원리
(자료 출처 : https://velog.io/@simplicityyy/Java-%EB%8F%99%EC%9E%91-%EC%9B%90%EB%A6%AC)
- JVM의 실행 원리
(자료 출처 : https://seoyeonkk.tistory.com/entry/Nodejs-%EB%8F%99%EC%9E%91-%EC%9B%90%EB%A6%AC)
javascipt
는 사용자의 요청에 응답하고 이벤트 처리를 포함한 사용자 인터페이스의 동적인 변화에 초점을 맞추고 있습니다. 반면java
는 서버 측의 데이터베이스 구축 및 로직 처리에 초점을 두고 있죠.