본문 바로가기
테크

(2)Java와 다른 언어들 차이점, 유사점

by 이스코 2023. 2. 28.

이 글에서는 저번 글에 이어 Java에 대해 알아보겠습니다. Java와 다른 프로그래밍 언어를 비교해보면서 어떤 것들이 다르고 어떤 것들이 유사한 지에 대해서도 알아보겠습니다. 



Java는 다른 언어와 어떻게 다른가요?

 

Java와 다른 프로그래밍 언어의 주요 차이점은 Java 코드가 실행되는 고유한 방법입니다. C++와 같은 컴파일된 언어와 달리 Java는 JVM(Java Virtual Machine)이 있는 모든 장치에서 실행할 수 있는 바이트코드로 컴파일됩니다. 

 

반면에 C++는 기계 코드로 직접 컴파일되므로 컴파일된 동일한 플랫폼에서만 실행할 수 있습니다.

 

또 다른 독특한 기능은 거대한 JCL(Java Class Library)입니다. 즉, 이 질문에 완전히 답하려면 Java를 각 언어와 구체적으로 비교해야 합니다.

 

다음 섹션에서는 Java를 오늘날 널리 사용되는 6개의 다른 주요 프로그래밍 언어와 비교합니다. 

 

여기에는 C, C#, C++, Javascript, Ruby 및 Python이 포함됩니다.

 

하지만 그것에 대해 알아보기 전에 다른 Java 개발자인 Mohan Pawar가  질문에 어떻게 답했는지 살펴보고 싶습니다 . 더 많은 내용이 있으므로 그의 전체 답변을 읽어 보시기 바랍니다. 그가 시작하는 방법은 다음과 같습니다.

Java는 높은 수준의 강력하고 안전한 객체 지향 프로그래밍 언어입니다. Java를 다른 언어와 비교할 때 많은 주요 차이점이 있습니다. C, C++의 코드는 먼저 특정 유형의 기본 머신으로 변환됩니다. 대신 Java 컴파일러는 코드를 바이트코드라고 하는 것으로 변환한 다음 JRE(Java Runtime Environment) 또는 JVM이라는 소프트웨어에서 해석합니다. 이를 통해 WORA(Write Once, Run Anywhere)의 이점을 얻을 수 있습니다.


Java와 다른 언어의 병렬 비교

 

Java와 C (매우 다름)

  • Java는 플랫폼 독립적입니다. C는 플랫폼에 따라 다릅니다.
  • Java는 객체 지향 프로그래밍(OOP) 언어입니다. C는 절차적입니다.
  • Java는 상향식 접근 방식을 따릅니다. C는 하향식 접근 방식을 따릅니다.
  • Java에는 자동 메모리 관리 기능이 있습니다. C에는 수동 메모리 관리 기능이 있습니다.
  • C는 포인터를 사용합니다. 자바는 그렇지 않습니다.
  • Java에는 기본 제공 스레드 지원이 있습니다. C는 그렇지 않습니다.

 

Java와 C# (매우 유사)

  • Java와 C#은 모두 OOP 언어입니다.
  • Java는 플랫폼 독립적입니다. C#은 플랫폼에 따라 다릅니다.
  • Java는 웹 애플리케이션 및 게임 개발에 사용됩니다.
  • C#은 게임 및 모바일 개발에 사용됩니다.

 

Java 대 C++ (일부 유사 항목)

  • 자바는 C++에서 파생되었습니다.
  • Java는 바이트코드로 컴파일됩니다(플랫폼 독립적). C++은 기계 코드로 컴파일됩니다.
  • 자바는 객체지향적입니다. C++는 객체지향적이며 절차적입니다.
  • Java에는 자동 가비지 수집 기능이 있습니다. C++은 그렇지 않습니다.
  • Java는 연산자 오버로딩을 지원하지 않습니다. C++이 합니다.
  • Java는 구조와 공용체를 지원하지 않습니다. C++이 합니다.
  • Java는 실행 시 C++ 보다 느립니다.
  • Java는 C++보다 사용하기 쉽고 간단합니다.
  • Java에는 강력한 크로스 플랫폼 라이브러리가 있습니다. C++ 라이브러리는 강력하지만 단순합니다.

 

Java와 Javascript (매우 다름)

  • 자바는 프로그래밍 언어입니다. 자바스크립트는 스크립팅 언어입니다.
  • Java와 Javascript는 모두 OOP(객체 지향 프로그래밍) 언어입니다.
  • Java는 JVM(Java Virtual Machine)에서 실행됩니다. Javascript는 웹 브라우저에서 실행됩니다.
  • Java는 컴파일되고 해석됩니다. Javascript가 해석됩니다.
  • Java는 Javascript보다 더 많은 메모리를 필요로 합니다.

 

Java와 Python (일부 유사점)

  • Java와 Python은 모두 OOP(객체 지향 프로그래밍) 언어입니다.
  • Java는 본질적으로 컴파일된 언어입니다. 파이썬은 인터프리터 언어입니다.
  • Java와 Python은 모두 범용 프로그래밍 언어입니다.
  • Java는 Python보다 사용하기 어렵습니다.
  • Java는 동등한 프로그램을 위해 Python보다 더 많은 코드 라인을 필요로 합니다.
  • Java와 Python은 오늘날에도 가장 인기 있는 프로그래밍 언어입니다.
  • Java는 Python보다 실행 속도가 빠릅니다.

 

Java와 Ruby (매우 유사)

  • Java와 Ruby는 모두 객체 지향 프로그래밍(OOP) 언어입니다.
  • Java와 Ruby는 모두 범용 프로그래밍 언어입니다.
  • Java는 정적 프로그래밍 언어입니다. 루비는 역동적입니다.
  • Java와 Ruby는 모두 플랫폼 독립적입니다.
  • Java와 Ruby는 모두 상속을 제공합니다.
  • Java는 동등한 프로그램을 위해 Ruby보다 더 많은 코드 라인을 필요로 합니다.
  • Java는 Ruby보다 빠릅니다.
  • Java와 Ruby를 함께 사용하고 서로 보완할 수 있습니다.

Java는 다른 언어에 어떤 영향을 미쳤는가?

Java 이전에는 프로그램을 작성하고, 컴파일하고, 모든 컴퓨터에서 실행할 수 있다는 생각을 들어본 적이 없었습니다.

 

그러나 Java는 판도를 바꾸었습니다. 

 

이것이 Java가 이전 버전인 C++와 다른 점입니다. 

 

그 이후로 Java의 영향으로 다른 플랫폼 독립적인 언어가 생겨났습니다. 즉, Java는 여전히 프로그래밍 언어 분야에서 최고의 경쟁자로 군림하고 있으며 당분간은 그럴 것입니다.

 

1995년 '생성' 이후 Java는 많은 개선을 이루었습니다. 플랫폼 독립적인 것 외에도 Java에는 자동 가비지 수집 기능, 컴파일 시 강력한 정적 유형 검사, 기본 유형 및 제어 구조 등이 있습니다. 

 

Java는 대부분의 다른 언어를 능가하는 범용 언어입니다.