본문 바로가기
기타/백엔드 기초

자바 Java | 플랫폼 독립성의 중요성과 대표적인 언어/기술들의 구현 방식

by YUNI Heo 2023. 1. 9.
반응형

 

✅ 플랫폼 독립성

어떠한 소프트웨어가 특정한 하드웨어 플랫폼에 종속되지 않고, 여러 다른 플랫폼에서 동일하게 작동할 수 있는 능력이다.

현재 대부분의 소프트웨어 제품들은 플랫폼 독립성을 고려하여 개발되고 있으며, 이는 소프트웨어 산업에서 중요한 경쟁 우위를 가지는 요소 중 하나이다.

 

  • 소프트웨어의 이식성과 호환성을 보장하며, 기업과 소비자들에게 많은 혜택을 제공한다.
  • 소프트웨어 개발자들은 코드를 다시 작성할 필요 없이 여러 플랫폼에서 동일한 소프트웨어를 배포할 수 있다.
  • 개발 시간과 비용이 절감되고, 소비자들은 자신이 선호하는 플랫폼에서 소프트웨어를 사용할 수 있다.

 

💡 자바 Java

  • 자바 가상 머신 JVM을 통해 플랫폼 독립성을 보장한다.
  • 자바로 작성된 코드는 어떤 플랫폼에서든 실행될 수 있다.

 

💡 Python

  • 인터프리터를 사용하여 플랫폼 독립성을 보장한다.
  • 파이썬으로 작성된 코드는 어떤 플랫폼에서든 실행될 수 있다.

 

💡 C#

  • .NET Framework를 통해 플랫폼 독립성을 보장한다.
  • .NET Framework는 C# 코드를 MSIL(Microsoft Intermediate Language)로 컴파일하고, JIT(Just-in-Time) 컴파일하여 해당 플랫폼에서 실행 가능한 코드로 변환한다.

 

💡 Ruby

  • 인터프리터를 사용하여 플랫폼 독립성을 보장한다.
  • 루비로 작성된 코드는 어떤 플랫폼에서든 실행될 수 있다.

 

💡 웹 기술(Web Technologies)

  • HTML, CSS, JavaScript 등의 웹 기술은 플랫폼 독립성을 보장한다.
  • 웹 브라우저는 각 플랫폼에 맞는 버전이 제공되기 때문에, 웹 페이지는 어떤 플랫폼에서든 동일한 방식으로 보인다.

 

✅ 자바 Java 플랫폼 독립성

💡 자바 가상 머신 JVM

  • 자바 코드는 컴파일되어 바이트 코드로 변환되고 자바 가상 머신 JVM에서 실행된다.
  • 리눅스나 macOS에서도 같은 명령어를 사용하여 실행할 수 있다. 
  • 자바 가상 머신 JVM은 특정 플랫폼에 종속되지 않으며, 각 플랫폼에 맞게 제공된다.
java Hello World

 

💡 자바 표준 라이브러리 API

  • 운영체제, 네트워크, 데이터베이스 등 다양한 기능을 쉽게 구현할 수 있는 라이브러리 집합이다.
  • 라이브러리는 각각의 플랫폼에 맞게 구현된다.
import java.util.Date;

public class CurrentTime {
    public static void main(String[] args) {
        Date now = new Date();
        System.out.println("Current time: " + now);
    }
}

 

💡 컴파일러 Compiler

  • 자바 컴파일러는 소스 코드를 바이트 코드로 변환한다.
  • 바이트 코드는 특정 플랫폼에 종속되지 않으며, 어떤 플랫폼에서든 실행된다.
반응형