Java란 무엇인가요?

Java는 웹 애플리케이션 코딩에 널리 사용되는 프로그래밍 언어입니다. 20년 넘게 개발자들 사이에서 많은 인기를 끌은 결과, 오늘날 수백만 개의 Java 애플리케이션이 사용되고 있습니다. Java는 그 자체로 플랫폼으로 사용할 수 있는 다중 플랫폼, 객체 지향 및 네트워크 중심 언어입니다. 모바일 앱 및 엔터프라이즈 소프트웨어에서 빅 데이터 애플리케이션 및 서버 측 기술에 이르기까지 모든 것을 코딩하기 위한 빠르고 안전하며 안정적인 프로그래밍 언어입니다.

Java 프로그래밍 언어는 어떤 용도로 사용되나요?

Java는 무료로 사용할 수 있고 다재다능한 언어이기 때문에 지역화된 분산 소프트웨어를 구축합니다. 다음은 Java의 몇 가지 일반적인 용도입니다. 

  1. 게임 개발: 많은 인기 모바일, 컴퓨터 및 비디오 게임이 Java로 작성됩니다. 기계 학습이나 가상 현실과 같은 첨단 기술이 통합된 최신 게임도 Java 기술로 작성됩니다.
  2. 클라우드 컴퓨팅: Java는 WORA(Write Once and Run Anywhere)라고도 하며 분산 클라우드 기반 애플리케이션에 적합합니다. 클라우드 공급자는 다양한 기본 플랫폼에서 프로그램을 실행하기 위해 Java 언어를 선택합니다.
  3. 빅 데이터: Java는 복잡한 데이터 집합과 방대한 양의 실시간 데이터를 처리할 수 있는 데이터 처리 엔진에 사용됩니다.
  4. 인공 지능: Java는 기계 학습 라이브러리의 발전소 역할을 합니다. Java는 자연어 처리 및 딥 러닝과 같은 인공 지능 애플리케이션 개발에 적합한 안정성과 속도를 갖추고 있습니다.
  5. 사물 인터넷(IoT): Java는 인터넷에 독립적으로 연결할 수 있는 엣지 디바이스의 센서 및 하드웨어 프로그래밍에 사용되었습니다.

Java는 사용하기 쉽도록 설계되었기 때문에 인기를 끕니다. 다음은 개발자가 다른 프로그래밍 언어보다 Java를 계속 선택하는 몇 가지 이유입니다.

고품질 학습 리소스

Java는 오랫동안 사용되어 왔기 때문에 새로운 프로그래머가 사용할 수 있는 학습 리소스가 많이 있습니다. 개발자를 학습 과정 내내 활용할 수 있는 자세한 설명서, 포괄적인 책, 과정이 마련되어 있습니다. 또한 초보자는 Advanced Java로 넘어 가기 전에 Core Java에서 코드 작성을 시작할 수 있습니다.

기본 제공 함수 및 라이브러리

Java를 사용하면 개발자가 처음부터 모든 새로운 기능을 작성할 필요가 없습니다. 대신 Java는 다양한 애플리케이션을 개발하기 위해 기본 제공 기능과 라이브러리로 구성된 풍부한 에코시스템을 제공합니다.

적극적인 커뮤니티 지원

Java에는 코딩 문제 발생 시 개발자를 지원할 수 있는 많은 활성 사용자와 커뮤니티가 있습니다. Java 플랫폼 소프트웨어도 정기적으로 유지 관리되고 업데이트됩니다.

고품질 개발 도구

Java는 자동화 편집, 디버깅, 테스트, 배포 및 변경 관리를 지원하는 다양한 도구를 제공합니다. 이러한 도구는 Java 프로그래밍을 시간과 비용 효율적으로 만듭니다.

플랫폼 독립적

Java 코드는 다시 작성하지 않고도 Windows, Linux, iOS 또는 Android와 같은 기본 플랫폼에서 실행할 수 있습니다. 따라서 여러 디바이스에서 애플리케이션을 실행하려는 오늘날의 환경에서 특히 유용합니다.

보안

사용자는 네트워크를 통해 신뢰할 수 없는 Java 코드를 다운로드하고 해당 Java 코드가 해를 끼칠 수 없는 안전한 환경에서 이를 실행할 수 있습니다. 신뢰할 수 없는 코드가 호스트 시스템을 바이러스에 감염시킬 수 없으며 하드 드라이브에서 파일을 읽거나 쓸 수 없습니다. Java의 보안 수준 및 제한 사항도 고도로 구성 가능합니다.

Java는 어떻게 작동하나요?

모든 프로그래밍 언어는 시스템과 통신하는 수단입니다. 기계 하드웨어는 전자 통신에만 응답합니다. Java와 같은 고급 프로그래밍 언어는 인간 언어와 하드웨어 언어 사이의 다리 역할을 합니다. Java를 사용하려면 개발자는 다음 두 가지를 이해해야 합니다.

  1. Java 언어 및 API: 개발자와 Java 플랫폼 간의 프런트엔드 커뮤니케이션입니다.
  2. Java Virtual Machine: Java 플랫폼과 기본 하드웨어 간의 백엔드 통신입니다. 아래에서 각각에 대해 자세히 살펴보겠습니다.

Java API란 무엇인가요?

Java는 Java 프로그래밍 언어의 구문과 의미를 정의합니다. 여기에는 변경 불가능한 데이터 유형, if/else 블록, 루프 등의 알고리즘을 작성하는 데 사용되는 기본 어휘와 규칙이 포함됩니다. API는 Java 플랫폼과 함께 번들로 제공되는 중요한 소프트웨어 구성 요소입니다. 이들은 기존 기능을 자신의 코드에 플러그 앤 플레이할 수 있는 미리 작성된 Java 프로그램입니다. 예를 들어 Java API를 사용하여 날짜 및 시간을 가져오고 수학 연산을 수행하거나 텍스트를 조작할 수 있습니다. 개발자가 작성한 모든 Java 애플리케이션 코드는 일반적으로 Java API 및 Java 라이브러리의 신규 코드와 기존 코드를 결합합니다.

Java Virtual Machine이란 무엇인가요?

Java Virtual Machine은 Java 플랫폼과 기본 머신 하드웨어 간의 추가 추상화 계층 역할을 합니다. Java 소스 코드는 JVM이 설치된 시스템에서만 실행할 수 있습니다. Java Virtual Machine이 필요한 이유에 대한 답은 프로그래밍의 역사에서 찾아볼 수 있습니다.

프로그래밍의 역사

자연 프로그래밍 언어가 처음 개발되었을 때 기본 하드웨어와 통신하는 방식에 따라 크게 두 가지 범주로 나뉘었습니다.

  1. 컴파일러: 완전한 프로그램은 컴파일러를 사용하여 자연스러운 영어와 유사한 구문으로 작성된 다음 언어가 전체 코드를 기계어로 컴파일하거나 번역합니다. 컴파일된 코드는 하드웨어에서 실행됩니다.
  2. 인터프리터: 인터프리터를 사용하면 모든 고급 코드 문장이 즉석에서 기계어로 해석됩니다.  작성된 문은 다음 문을 보기 전에 하드웨어에서 즉시 실행됩니다.

Java 런타임 환경

Java 프로그램은 JVM(Java Virtual Machine)을 사용하여 위의 두 가지 방법을 결합한 최초의 언어였습니다. Java 코드 컴파일러를 Java Virtual Machine이라고 합니다. 모든 Java 파일은 먼저 바이트 코드로 컴파일됩니다. Java 바이트코드는 JVM에서만 실행할 수 있습니다. 그런 다음 JVM은 바이트코드를 해석하여 기본 하드웨어 플랫폼에서 실행합니다. 따라서 애플리케이션이 Windows 시스템에서 실행 중인 경우 JVM은 이를 Windows용으로 해석합니다. 그러나 Linux와 같은 오픈 소스 플랫폼에서 실행 중인 경우 JVM은 이를 Linux용으로 해석합니다. 

Java로 프로그래밍하려면 어떻게 해야 하나요?

Java로 프로그래밍을 시작하려면 시스템에 Java Edition을 설치해야 합니다. 다음과 같은 네 가지 주요 Java 에디션이 있습니다. 

  1. Java 스탠더드 에디션(Java SE)
  2. Java 엔터프라이즈 에디션(Java EE)
  3. Java 마이크로 에디션(Java ME)

Java SE란 무엇인가요?

Java 스탠더드 에디션은 핵심 Java 프로그래밍 플랫폼입니다. 여기에는 모든 프로그래머가 Java 개발에 필요로 하는 모든 라이브러리와 API가 포함되어 있습니다. OpenJDK(Open Java Development Kit)는 Java SE의 무료 오픈 소스 구현입니다.

Amazon Corretto는 OpenJDK의 프로덕션용 무료 다중 플랫폼 배포판입니다. 많은 Java SE 배포판의 드롭인 대체로 사용할 수 있으며 Amazon의 무료 장기 지원이 제공됩니다. Amazon Corretto를 사용하여 클라우드, 온프레미스 및 로컬 시스템에서 동일한 환경을 실행할 수 있습니다.

Java EE란 무엇인가요?

Java 엔터프라이즈 에디션에는 Java SE의 모든 기능과 내결함성이 있는 다중 계층 분산 Java 소프트웨어를 배포하기 위한 추가 기능이 포함되어 있습니다. 엄청난 규모, 분산 시스템, 데이터베이스 액세스 및 웹 서비스를 요구하는 애플리케이션은 일반적으로 Java EE에서 개발됩니다.

Java ME란 무엇인가요?

Java 마이크로 에디션은 셋톱박스와 같은 임베디드 시스템 및 모바일 디바이스용 애플리케이션을 개발하기 위한 플랫폼입니다. Java ME는 Java SE 기능의 하위 집합을 제공하지만 모바일 디바이스에 특정한 라이브러리도 도입합니다. 

Java용 AWS SDK란 무엇인가요?

Java 개발자에게 일관되고 친숙한 Java용 AWS SDK의 라이브러리 집합을 통해 AWS 서비스 사용을 간소화할 수 있습니다. Java용 AWS SDK는 간소화된 개발을 위해 상위 수준의 추상화도 지원합니다. AWS 중심의 오픈 소스 Java 라이브러리는 코드 예제 및 Java API 참조 가이드와 함께 제공됩니다. 

SDK 코드 예시에는 애플리케이션 개발을 가속화하는 데 도움이 되는 Java 코드 예시와 AWS 서비스에 대한 실제 사용 사례가 포함되어 있습니다. 또한 Java API 참조 안내서에는 최신 버전의 Java용 AWS SDK에 대한 API 작업이 설명되어 있습니다. 이 안내서에서는 지원되는 웹 서비스 프로토콜에 대한 샘플 요청, 응답 및 오류도 제공합니다.

개발자 안내서에서 Java용 AWS SDK를 시작하거나 AWS Java 개발자 센터를 방문하세요.

Java 다음 단계

Standard Product Icons (Features) Squid Ink
제품 관련 추가 리소스 확인
Amazon Coretto에 대해 자세히 알아보기 
Sign up for a free account
무료 계정 가입

AWS 프리 티어에 즉시 액세스할 수 있습니다.

가입 
Standard Product Icons (Start Building) Squid Ink
콘솔에서 구축 시작

AWS 관리 콘솔에서 Java로 구축을 시작하세요.

로그인