Skills/Java

Java 시작, 특징

개발자 윤구나 2023. 5. 23. 20:00

1.  프로그램을 실행하기 위해서는  CPU, OS, SW가 필요합니다.

-  SW  -
--  OS  --
---  CPU  ---

 

CPU ?

: Central Processing Unit, 중앙 처리 장치

: 컴퓨터에서 기억, 해석, 연산, 제어라는 4대 주요 기능을 관할하는 장치

 

OS ?

: Operating System, 운영체제

: 사용자의 하드웨어, 시스템 리소스를 제어하고 프로그램에 대한 서비스를 지원하는 시스템

: 예) Windows, MAC OS, Linux ...

 

SW ?

: Software, 소프트웨어

: 하드웨어를 운용하여 작업을 수행하는 절차와 규칙 등을 기술한 명령어 집합

 

 

2.  자바 언어 특징

a. 객체지향언어

b. 플랫폼 독립적 ⭐️

c. Network에 강합니다.

(C언어와 비교 → Java는 라이브러리가 포함되어있지 않아서 실행파일 크기가 작기 때문입니다.)

d. 독립적 성능향상 (자동으로 메모리 관리를 해줍니다.)

 

 

3.  플랫폼

플랫폼 ?

: 소프트웨어가 실행되어질 수 있는 기반 환경

 

플랫폼 독립적 ?

: Java는 플랫폼 독립적입니다. 어떤 CPU, OS이던 어디서든 다 실행가능 하기 때문입니다.

 

플랫폼 독립적 장점 ?

: 따라서 어디서든 열 수 있다는 것이 JAVA의 장점입니다.

 

플랫폼 종속적 ?

: C언어는 플랫폼 종속적입니다. 아래에서 C언어와 Java를 비교하여 이어가겠습니다.

 

 

4.  C언어   vs   Java

C언어

*.c   →   compiler   →   .obj    →   Linker(Linking 작업)   →   .exe

.c 파일을 compiler가 .obj 파일로 만들어주고, Linker가 Linking 작업을 해서 .exe 파일로 만들어냅니다.

Linker에는 라이브러리 ‘C’가 포함되어 있고, C 라이브러리는 특정 운영체제용 라이브러리입니다.

→ 플랫폼 종속적

 

Java

*.java   →   javac.exe(compile)   →   .class(실행파일, JVM에서 실행가능)   →   JVM(java.exe 있음)

JVM에는 Java 라이브러리가 포함되어있어서 Linking이 필요없습니다. JVM 자체적으로 실행가능합니다.

→ 플랫폼 독립적

 

JRE(Java Runtime Environment)에 JVM을 둡니다. (사용자도 개발자도 JVM이 필요합니다.)

하지만 JVM(= SW)은 플랫폼 종속적입이다. 각 운영체제(환경)에 맞는 JVM이 필요하기 때문입니다.