자바 개요

2023. 11. 20. 09:52
728x90

1. 기계어

: CPU가 입력받아 해석할 수 있는 0과 1로 이루어진 명령어

2. 어셈블리어

: 인간이 읽을 수 있는 형태의 프로그래밍 언어이지만,, 여전히 Low Level programming  language임

 

>> 두 언어는 가독성이 매우 떨어지고, 컴퓨터 구조에 대해 잘 알아야 하고, 컴퓨터 (CPU)에 따라 작성해야 하는 코드가 다르다.. 비효율적...ㅠㅡ

 

3. High level language

: 사람이 이해하기 좀더 편한 언어. 많은 단계에 추상화가 이뤄져서 컴퓨터 구조에 대해 알아야 할 내용이 비교적 적다. 

>> 생산성이 높아짐 !! 

High Level Language 자체를 CPU가 직접 실행할 수는 없다.

어느 시점에 다시 기계어로 변환되는데,,,, > 변환 시점이 언어마다 다르다 ! 

  1) 컴파일 언어 : 실행 전에 기계어로 미리 번역됨

  2) 스크립트 언어 : 실행 하면 그때그때 기계어로 번역됨 

 

 

 

** JAVA **

- Java : 컴파일 언어

- 모토 : Write Once Run Anywhere 한 번 작성한 코드를 어떤 컴퓨터에서든 실행할 수 있도록~~~!

- 자바 언어를 컴파일 하면 ? Java Bytecode라는 특수 형태의 언어 (JVM을 위한 어셈블리어) >> JVM >> CPU가 이해할 수 있는 기계어로 번역.

> JVM을 쓰려면 JDK(Java Development Kit) 설치! : 자바 언어를 Java Bytecode로 변환하는 컴파일러 등 도구 모음집.

 

프로그램을 쓰기만 하는데 개발도구를 다 갖출 필요가 없다 ! > 프로그램 실행을 위한 것들만 모으자 ~~~~~~!

 

>> JRE (Java Runtime Environment) : JVM과 JVM이 사용할 기타 라이브러리를 포함한 자바로 작성된 프로그램의 실행 환경 

 

 

** JVM, JRE, JDK의 차이를 정확히 알고 관계, 어떻게 컴퓨터에서 실행되는지에 대한 답변을 고민해보기 ! 

 

 

* 코드 작성 도구들

1) Code Editor : 코드를 작성하는데 도움을 주는 도구 (문법 검사, 글자 색 조정 등). 규모가 작은 어플리케이션 개발에 비교적 유리 (HTML, Python Script, Javascript) 

2) IDE (Integrated Development Environment) : 단순 코드 문법 검사를 넘어, 프로젝트의 시작부터 완성까지 도움을 주는 도구를 갖춘 통합 개발 환경.  규모가 큰 어플리케이션 개발에 비교적 유리 (Spring, Django, Mobile Application 등)

>> 결국 IDE는 도우미이다. 자신이 사용하고자 하는 언어/ 프레임워크가 어떤 원리로 작동하는지 알 필요가 있다

728x90

'Programming > Java' 카테고리의 다른 글

클래스 (Class)  (1) 2023.11.28
메서드 (Methods)  (1) 2023.11.23
제어문 (Control Statements)  (1) 2023.11.22
연산자 (Operators)  (0) 2023.11.21
변수와 자료형 (Variables and Types)  (1) 2023.11.20

BELATED ARTICLES

more