Lesson: The Java Technology Phenomenon

2024. 6. 23. 17:40High Level Programming Language/Getting Started

[튜토리얼]

Java 기술에 대한 이야기는 어디에나 있는 것 같습니다. 하지만 Java 기술이 정확히 무엇일까요? 다음 섹션에서는 Java 기술이 프로그래밍 언어이자 플랫폼인 방법을 설명하고, 이 기술이 무엇을 할 수 있는지 개요를 제공합니다.

 

About the Java Technology

Java 기술은 프로그래밍 언어이자 플랫폼입니다.

 

The Java Programming Language

Java 프로그래밍 언어는 다음의 모든 전문 용어로 특징지을 수 있는 고급 언어입니다.

 

  • Simple
  • Object oriented
  • Distributed
  • Multithreaded
  • Dynamic
  • Architecture neutral
  • Portable
  • High performance
  • Robust
  • Secure

앞서 언급한 각 유행어는 James Gosling과 Henry McGilton이 작성한 백서 "The Java Language Environment"에서 설명됩니다.

 

Java 프로그래밍 언어에서 모든 소스 코드는 .java 확장자로 끝나는 일반 텍스트 파일로 먼저 작성됩니다. 그런 다음 이러한 소스 파일은 javac 컴파일러에 의해 .class 파일로 컴파일됩니다. .class 파일에는 프로세서에 고유한 코드가 포함되지 않고, 대신 Java 가상 머신(Java VM)의 기계어인 바이트코드를 포함합니다. 그런 다음 java 실행 도구가 Java 가상 머신의 인스턴스로 애플리케이션을 실행합니다.

 

An overview of the software development process.

 

Java VM은 여러 운영 체제에서 사용할 수 있기 때문에 동일한 .class 파일이 Microsoft Windows, Solaris™ 운영 체제(Solaris OS), Linux, 또는 Mac OS에서 실행될 수 있습니다. Java SE HotSpot at a Glance와 같은 일부 가상 머신은 애플리케이션의 성능을 향상시키기 위해 런타임에 추가 단계를 수행합니다. 여기에는 성능 병목 현상을 찾고 자주 사용되는 코드 섹션을 네이티브 코드로 다시 컴파일하는 작업 등이 포함됩니다.

Through the Java VM, the same application is capable of running on multiple platforms.

 

The Java Platform

자바 플랫폼은 프로그램이 실행되는 하드웨어 또는 소프트웨어 환경입니다.Microsoft Windows, Linux, Solaris OS, Mac OS와 같은 가장 인기 있는 플랫폼을 이미 언급했습니다. 대부분의 플랫폼은 운영 체제와 기본 하드웨어의 조합으로 설명될 수 있습니다. Java 플랫폼은 소프트웨어 전용 플랫폼으로 다른 하드웨어 기반 플랫폼 위에서 실행된다는 점에서 대부분의 다른 플랫폼과 다릅니다.

Java 플랫폼은 두 가지 구성 요소로 이루어져 있습니다:

    • Java 가상 머신
    • Java 애플리케이션 프로그래밍 인터페이스(API)

Java 가상 머신에 대해 이미 소개했습니다. 이는 Java 플랫폼의 기본이며 다양한 하드웨어 기반 플랫폼에 포팅됩니다.

API는 많은 유용한 기능을 제공하는 이미 만들어진 소프트웨어 구성 요소의 대규모 모음입니다. 이는 관련 클래스와 인터페이스의 라이브러리로 그룹화되어 있으며, 이러한 라이브러리는 패키지라고 알려져 있습니다. 다음 섹션인 "What Can Java Technology Do?"에서는 API가 제공하는 기능 중 일부를 강조합니다.

 

The API and Java Virtual Machine insulate the program from the underlying hardware.

 

플랫폼 독립적인 환경으로서 Java 플랫폼은 네이티브 코드보다 다소 느릴 수 있습니다. 그러나 컴파일러 및 가상 머신 기술의 발전으로 이식성을 위협하지 않으면서 성능을 네이티브 코드와 거의 비슷한 수준으로 끌어올리고 있습니다.

"Java Virtual Machine"과 "JVM"이라는 용어는 Java 플랫폼을 위한 가상 머신을 의미합니다.

 

What Can Java Technology Do?

범용 고급 Java 프로그래밍 언어는 강력한 소프트웨어 플랫폼입니다. Java 플랫폼의 모든 완전한 구현은 다음과 같은 기능을 제공합니다:

  • Development Tools: 개발 도구는 애플리케이션을 컴파일, 실행, 모니터링, 디버깅, 문서화하는 데 필요한 모든 것을 제공합니다. 새로운 개발자로서 주로 사용할 주요 도구는 javac 컴파일러, java 실행기, javadoc 문서화 도구입니다.
  • Application Programming Interface(API): API는 Java 프로그래밍 언어의 핵심 기능을 제공합니다. 이는 여러분의 애플리케이션에서 사용할 수 있는 다양한 유용한 클래스들을 제공합니다. 기본 객체에서부터 네트워킹 및 보안, XML 생성 및 데이터베이스 접근 등 모든 것을 포함합니다. 핵심 API는 매우 방대하며, 그 내용에 대한 개요를 보려면 Java Platform Standard Edition 8 Documentation을 참조하십시오.
  • Deployment Tech: JDK 소프트웨어는 Java Web Start 소프트웨어와 Java Plug-In 소프트웨어와 같은 표준 메커니즘을 제공하여 애플리케이션을 최종 사용자에게 배포할 수 있도록 합니다.
  • User Interface Toolkits: JavaFX, Swing, Java 2D 도구 키트를 사용하면 정교한 그래픽 사용자 인터페이스(GUI)를 만들 수 있습니다.
  • Integration Libraries: Java IDL API, JDBC API, Java Naming and Directory Interface (JNDI) API, Java RMI, Java Remote Method Invocation over Internet Inter-ORB Protocol Technology (Java RMI-IIOP Technology)와 같은 통합 라이브러리는 데이터베이스 접근 및 원격 객체의 조작을 가능하게 합니다.

 

How Will Java Technology Change My Life?

Java 프로그래밍 언어를 배운다고 해서 명성, 부, 또는 직업을 보장할 수는 없습니다. 그럼에도 불구하고, Java는 다른 언어보다 적은 노력으로 더 나은 프로그램을 만들 수 있게 해줄 것입니다. 우리는 Java 기술이 여러분이 다음과 같은 일을 할 수 있도록 도와줄 것이라고 믿습니다:

  • Get started quickly: Java 프로그래밍 언어는 강력한 객체 지향 언어이지만, 특히 C나 C++에 익숙한 프로그래머에게는 배우기 쉽습니다.
  • Write less code: 프로그램 메트릭(class 수, 메소드 수 등)의 비교에 따르면, Java 프로그래밍 언어로 작성된 프로그램은 동일한 프로그램을 C++로 작성한 것보다 네 배 더 작을 수 있습니다.
  • Write better code: Java 프로그래밍 언어는 좋은 코딩 습관을 장려하며, 자동 가비지 컬렉션을 통해 메모리 누수를 방지할 수 있습니다. 객체 지향성, JavaBeans™ 컴포넌트 아키텍처, 그리고 광범위하고 쉽게 확장 가능한 API를 통해 기존의 테스트된 코드를 재사용하고 버그를 줄일 수 있습니다.
  • Develop program more quickly: Java 프로그래밍 언어는 C++보다 단순하기 때문에, Java로 작성할 때 개발 시간이 최대 두 배까지 빨라질 수 있습니다. 또한, 프로그램은 더 적은 코드 라인을 필요로 합니다.
  • Avoid platform dependencies[종속성]: 다른 언어로 작성된 라이브러리 사용을 피함으로써 프로그램의 이식성을 유지할 수 있습니다.
  • Write once, run anywhere: Java 프로그래밍 언어로 작성된 애플리케이션은 머신에 독립적인 바이트코드로 컴파일되기 때문에, 모든 Java 플랫폼에서 일관되게 실행됩니다.
  • Distribute[배포] software more easily: Java Web Start 소프트웨어를 사용하면 사용자가 마우스 클릭 한 번으로 애플리케이션을 실행할 수 있습니다. 시작 시 자동 버전 확인을 통해 사용자가 항상 최신 버전의 소프트웨어를 사용할 수 있도록 합니다. 업데이트가 있는 경우 Java Web Start 소프트웨어가 자동으로 설치를 업데이트합니다.