자바 - 자바개요

2023. 7. 2. 15:03자바/자바 정복

반응형

프로그래밍 언어 : 컴퓨터가 이해할 수 있는 명령을 작성하는 일련의 도구

 

컴퓨터는 기계어를 이해할 수 있다.

기계어는 01110101001011001010100 와 같이 0과 1로 이루어져 있다.

프로그래밍 언어를 기계어로 바꿔주는게 컴파일러와 인터프리터이다.

 

고급언어 >>> 어셈블리어 >>> 기계어

 

사람이 알아듣기 쉬울수록 고급언어에 가깝고 어셈블리어는 기계어와 1:1로 대응되는 언어이다. 컴퓨터가 이해하기 쉬울수록 기계어에 가깝다.

 

우리는 사람이 알아들을 수 있는 JAVA라는 프로그래밍 언어로 컴퓨터에게 명령을 할거다. 이렇게 작성된 JAVA 소스(.java 파일)가 컴파일러에 의해 기계어로 번역되어 컴퓨터가 알아듣는 파일(.class)로 바뀐다고 생각하면 된다.

 

자바의 특징

1. 플랫폼 독립적

2. 객체지향언어

3. 함수형코딩지원

4. 분산처리지원

5. 멀티쓰레드지원

 

플랫폼 종속적

플랫픔은 한마디로 기계라고 생각하면 된다. 어느 기계만 사용할 수 있으면 플랫폼 독립적이고 특정 기계에서만 사용가능하면 플랫폼 종속적이라고 할 수 있다.

 

ex)

윈도우에서는 .exe 파일을 실행할 수 있다.

Mac에서는 .app 파일을 실행할 수 있다.

리눅스에서는 .sh 파일을 실행할 수 있다.

 

그럼 각각의 파일들은 플랫폼 종속적이라고 할 수 있다.

 

플랫폼 독립적

근데 자바는 플랫폼 독립적이다. 그래서 어느 기계에서든 사용할 수 있어야한다. 즉 어떠한 운영체제에서든 사용할 수 있다. 자바에서 실행 파일은 .class 파일이다. 이것은 .exe도 아니고 .app도 아니고 .sh도 아니다. 그럼 .class 파일은 어디에서 실행이 가능하냐? 그것은 JVM(Java Virtual Machine)에서만 돌아간다. 즉, 어떠한 운영체제이든 상관없이 JVM(Java Virtual Machine)이 있으면 실행이 가능하다. JVM(Java Virtual Machine)이라는 것이 자바를 어떠한 운영체제든 상관없이 실행 가능하게 한다. JVM은 우리가 전에 설치했던 JDK 안에 포함되어 있다. 우리가 JDK를 설치할때 각각의 운영체제를 구분해서 JDK를 다운로드 받는다. 그래서 각각 운영체제에 맞는 JVM과 같이 JDK가 다운로드 되어 .class 파일이 실행될 수 있는거다.

 

JRE(Java Runtime Enviroment) vs JDK(Java Development Kit)

- JRE : 자바 실행환경

- JDK : 자바 개발 도구

우리가 레고로 어떠한 형상을 만들때 여러가지 블록으로 만든다. 이때 블록이 JDK로 개발도구이다. 블록으로 형상을 만드려면 블록을 꽂을 수 있는 널찍한 판이 밑에 깔려 있어야한다. 이것이 실행 환경인 JRE라고 생각하면 된다. 

 

 

JDK를 깔게되면 자바 실행 환경을 만들어주기 위한 JRE도 같이 설치가 되고 JRE에는 JVM이 있어 플랫폼 독립적으로 실행이 가능하다. 즉 JDK는 JRE를 포함하고 JRE는 JVM을 포함한다.

JDK 하나를 설치하면 JDK, JRE, JVM이 모두 설치된거다.

 

 

 

 

 

 

 

반응형