Java vs Python vs JavaScript

임유진·2025년 7월 2일

Java

목록 보기
2/12
post-thumbnail

1️⃣ 💼 탄생 배경과 주요 목적

언어탄생 배경주 사용 분야
Java썬 마이크로시스템즈에서 “Write Once, Run Anywhere” 철학으로 개발 (1995)기업용 서버 개발, 안드로이드 앱
Python간결성과 가독성을 목표로 개발 (1991)데이터 분석, AI, 자동화, 웹 서버
JavaScript웹 페이지 동적 처리용으로 브라우저에 탑재 (1995)웹 프론트엔드, Node.js 백엔드

2️⃣ ⚙️ 실행 방식

단계JavaPythonJavaScript
컴파일.javajavac.class (바이트코드)인터프리터 실행 (바이트코드도 생성 가능)인터프리터 (브라우저 또는 Node.js)
실행 엔진JVM이 바이트코드 실행CPython 인터프리터V8(Chrome), SpiderMonkey(Firefox) 등
플랫폼 독립성JVM 설치 필요파이썬 인터프리터 필요브라우저만 있으면 실행

✅ Java: 정적 타입 + 바이트코드 + JVM
✅ Python: 인터프리터 + 동적 타입
✅ JavaScript: 브라우저 런타임 + 동적 타입


3️⃣ 🧩 타입 시스템

JavaPythonJavaScript
타입정적 타입 (컴파일 시 체크)동적 타입 (실행 시 결정)동적 타입
변수 선언타입 지정 필수타입 지정 없이 변수 선언타입 지정 없이 변수 선언
예시
Java:
int x = 10;

Python:

x = 10

JavaScript:

let x = 10;

4️⃣ 🏗️ 객체지향 프로그래밍(OOP)

  • Java: 철저히 객체지향(모든 코드가 클래스 내부)
  • Python: 클래스/함수 모두 가능 (혼합 프로그래밍)
  • JavaScript: 프로토타입 기반 객체지향 (ES6부터 class 문법 지원)

5️⃣ ⚡ 실행 속도

  • Java: JIT 컴파일 덕에 빠름 (C++에 근접)
  • Python: 상대적으로 느림 (인터프리터)
  • JavaScript: V8 엔진 최적화로 빠른 편

6️⃣ 🛠️ 주요 빌드/패키지 관리

JavaPythonJavaScript
빌드 도구Maven, Gradle없음(스크립트 실행)webpack, parcel
패키지 관리자Maven Central, JCenterpipnpm, yarn

7️⃣ 📝 에러 처리

JavaPythonJavaScript
방식try-catch-finallytry-except-finallytry-catch-finally
예시
Java:
try {
  // 위험 코드
} catch(Exception e) {
  // 처리
}

Python:

try:
  # 위험 코드
except Exception as e:
  # 처리

JavaScript:

try {
  // 위험 코드
} catch(e) {
  // 처리
}

8️⃣ 🌍 실행 환경

JavaPythonJavaScript
서버 실행Tomcat, Spring BootFlask, DjangoNode.js
클라이언트 실행JVM거의 없음브라우저

요약 한줄 비교

  • Java: 정적 타입, 빠른 실행, 대규모 시스템에 적합
  • Python: 동적 타입, 간결함, 데이터/AI/스크립팅에 강점
  • JavaScript: 동적 타입, 웹 중심, 프론트/백 모두 가능
profile
말하는 고구마

0개의 댓글