JAVA | JavaScript | |
타입 시스템 | - 정적 타입 언어 - 변수 선언시 타입을 명시 - 변수의 타입이 결정된 후에는 변경할 수 없음 |
- 동적 타입 언어 - 변수 선언 시 타입을 명시하지 않음 - 변수 타입은 할당되는 값에 따라 자동으로 결정 |
사용 목적 | - 서버 측 애플리케이션 - 모바일 애플리케이션(특히 Android) - 데스크탑 애플리케이션 등을 개발 |
- 웹 페이지의 클라이언트 측 스크립트로 사용 - HTML과 CSS와 함께 동작 - 웹 페이지의 동적 기능을 구현 - Node.js를 통해 서버 측에서도 사용 가능 |
실행 환경 | - Java Virtual Machine(JVM)에서 실행 - 플랫폼 독립적인 언어입니다. |
- 웹 브라우저에서 실행 - Node.js를 통해 서버 측에서도 실행가능 |
문법과 선언 | - 모든 변수와 메서드는 타입 명시 - 메서드의 매개변수도 타입 명시 - 순서를 바꿀 수 없음 |
- 변수 선언 시 let, const, var를 사용하되, 타입을 명시하지 않음 - 함수의 매개변수는 'let' 등을 명시하지 않으며, 매개변수를 호출하지 않아도 됨 |
배열 | - 배열 선언 시, 크기 지정(한 번 선언시 변경 어려움) - 배열은 동일한 데이터 타입이어야 함 - 다차원 배열을 사용 가능함 |
- 배열 크기가 동적이며, '.push()'메서드를 사용하여 배열 요소 추가 가능 - 같은 배열에 서로 다른 데이터 타입 요소 포함가능 - 배열 요소를 쉽게 추가, 제거 및 수정 가능 |
타입 검사 | - 컴파일 시 타입 검사 수행으로 타입 안전성 보장 |
공통점 |
- 둘 다 객체 지향 프로그래밍을 지원 |
- 클래스와 객체를 사용할 수 있음 |
- API 및 라이브러리를 통해 확장 가능 |
- 예외 처리 메커니즘을 가짐 |
- 문자와 숫자가 만났을 때, 문자가 됨 |
728x90
'용어 > Differences by language' 카테고리의 다른 글
[Python/JAVA/JS] 다차원 배열, 중첩 배열/리스트 (0) | 2024.06.26 |
---|---|
[Python/JAVA/JS] 자바/자바스크립트의 배열과 파이썬의 리스트, 문자열 관계 이해하기 (0) | 2024.06.26 |
[Python/JAVA] 문자열 비교 (0) | 2024.06.25 |
[Python/Java/Js] 연산자 비교 (0) | 2024.06.25 |
[국비][JS/JAVA] 명명함수/익명함수 (0) | 2024.05.21 |