JAVA

[JAVA] 자바 1교시 : 개념, 사용 용도, API, JVM, 런타임 환경

제이미로그 2024. 4. 16. 10:40

                                                               JAVA란?                                                            

 

 

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

 

 

Java의 사용 용도는?

 

Java는 무료로 사용할 수 있고 다재다능한 언어이기 때문에 지역화된 분산 소프트웨어를 구축한다. 

 

1. 게임 개발

 

많은 인기 모바일, 컴퓨터 및 비디오 게임, 기계 학습이나 가상 현실과 같은 첨단 기술이 통합된 최신 게임도 Java 기술로 만들어진다.

 

2. 클라우드 컴퓨팅

 

Java는 WORA(Write Once and Run Anywhere)라고도 하며 분산 클라우드 기반 애플리케이션에 적합하다. 클라우드 공급자는 다양한 기본 플랫폼에서 프로그램을 실행하기 위해 Java 언어를 선택한다.

 

3. 빅 데이터

 

Java는 복잡한 데이터 집합과 방대한 양의 실시간 데이터를 처리할 수 있는 데이터 처리 엔진에 이용된다.

 

4. 인공 지능

 

Java는 기계 학습 라이브러리의 발전소 역할을 하며, 자연어 처리 및 딥 러닝과 같은 인공 지능 애플리케이션 개발에 적합한 안정성과 속도를 갖추고 있다.

 

5. 사물 인터넷

 

Java는 인터넷에 독립적으로 연결할 수 있는 엣지 디바이스의 센서 및 하드웨어 프로그래밍에 사용된다.

 

 

 

                                                            JAVA  API?                                                           

 

 

API란 자바 시스템을 제어하기 위해서 자바에서 제공하는 명령어들을 의미한다. Java SE(JDK)를 설치하면 자바 시스템을 제어하기 위한 API를 제공한다. 자바 개발자들은 자바에서 제공한 API를 이용해서 자바 애플리케이션을 만들게 된다. 패키지 java.lang.*의 클래스들도 자바에서 제공하는 API 중의 하나라고 할 수 있다. (java.lang.* 이란? 자바 프로그래밍을 하기 위해서 필수적인 클래스들을 모아둔 패키지다. 따라서 사용자의 편의를 위해서 자동으로 로딩을 하고 있는 것이다.)

 

Java의 API 문서

 

자바 플랫폼 위에서 동작하는 자바 애플리케이션을 개발하는 개발자들은 자바 API를 사용하게 된다. 그런데 자바에서 제공하는 API는 방대하기 때문에 이것을 이용하기 위해서는 API의 목록과 사용법이 체계적으로 정리된 문서를 이용할 수 있어야 한다.

 

아래 페이지는 Java의 각종 문서들을 모아둔 웹페이지이다.

 

http://docs.oracle.com/javase/

 

Java JVM 란?

 

Java Virtual Machine으로 직역하면 '자바를 실행하기 위한 가상 기계(컴퓨터)'라고 할 수 있다.

Java 는 OS에 종속적이지 않다는 특징을 가지고 있다. OS에 종속받지 않고 실행되기 위해선 OS 위에서 Java 를 실행시킬 무언가가 필요하다. 그게 바로 JVM이다.

즉, OS에 종속받지 않고 CPU 가 Java를 인식, 실행할 수 있게 하는 가상 컴퓨터이다.

 

컴파일러 과정

 

 

Java 소스코드, 즉 원시코드(*.java)는 CPU가 인식을 하지 못하므로 기계어로 컴파일을 해줘야한다.

하지만 Java는 이 JVM 이라는 가상머신을 거쳐서 OS에 도달하기 때문에 OS가 인식할 수 있는 기계어로 바로 컴파일 되는게 아니라 JVM이 인식할 수 있는 Java bytecode(*.class)로 변환된다.

 

 

Java compiler  .java 파일을 .class 라는 Java bytecode로 변환한다.

💡 여기서 Java compiler는 JDK를 설치하면 bin 에 존재하는 javac.exe를 말한다. (즉, JDK에 Java compiler가 포함되어 있다는 소리임)
javac 명령어를 통해 .java를 .class로 컴파일 할 수 있다.

 

변환된 bytecode는 기계어가 아니기 때문에 OS에서 바로 실행되지 않는다.

이 때, JVM이 OS가 bytecode를 이해할 수 있도록 해석해준다. 따라서 Byte Code는 JVM 위에서 OS 상관없이 실행될 수 있는 것이다.

OS에 종속적이지 않고, Java 파일 하나만 만들면 어느 디바이스든 JVM 위에서 실행할 수 있다.

 

 

                                            JAVA 에서 Complie 하는 방법?                                      

아래는 Java Compiler에 의해 .java 파일을 .class 라는 Java bytecode로 만드는 과정이다.

 

Java Compiler는 JDK를 설치하면 javac.exe라는 실행 파일 형태로 설치된다.

정확히는 JDK 의 bin 폴더에 javac.exe 로 존재한다.

Java Complier 의 javac 라는 명령어를 사용하면 .class 파일을 생성할 수 있다.

예제

 

"Hello World"를 출력하는 .java 파일을 생성하고 이를 .class 파일로 변환시켜보자.

 

Windows를 기준으로, cmd 창을 열고 해당 .java 파일이 있는 곳으로 이동한다.

 

해당 위치에서 javac 명령어로 컴파일을 진행한다.

 

바탕화면

현재 위치(바탕화면)에 .class 파일이 생성된 걸 확인할 수 있다.