숑숑이의 개발일기
article thumbnail

컴파일러(compiler)

자바를 비롯한 고급 언어는 사람이 이해할 수 있는 문장으로 구성되어 있고 컴퓨터는 이 언어를 바로 이해하지 못한다. 고로 컴퓨터가 이해할 수 있는 언어로 변환하는 과정이 필요하며 이 과정을 수행하는 것이 컴파일러다.

 

모든 컴퓨터는 똑같은 기계어를 사용하지 않는다.  자신의 플랫폼에 따라 서로 다른 언어를 사용한다. 

- ex) 윈도우 컴퓨터와 맥 컴퓨터는 서로 다른 기계어를 사용한다.

- 동일한 고급 언어로 작성된 프로그램이라 하더라도 다른 플랫폼상에서 동작하도록 하기 위해서는 다른 컴파일러를 사용해야한다.

 

자바의 특징

  • 플랫폼 독립성
  • 객체지향 언어
  • 함수형 코딩 지원
  • 분산 처리 지원
  • 멀티 쓰레드 지원
  • 등...

플랫폼 종속성 vs 플랫폼 독립성

플랫폼 종속성 : 하나의 실행 파일은 하나의 특정 플랫폼에서만 실행할 수 있음

플랫폼 독립성 : 하나의 프로그램이 모든 플랫폼에서 실행 가능

자바가 플랫폼 독립성을 지닐 수 있는 이유는 자바 가상 머신(JVM: Java Virtual Machine) 덕분이다.

다양한 플랫폼 위에 자바 가상 머신 도구를 설치하고 .class 파일을 실행하게 해 주는 가상 컴퓨터를 올려 놓는다.

물론, 윈도우용, 맥용, 리눅스용 자바 가상 머신을 각각 만들어야 한다.

자바 개발 도구(JDK: Java Development Kit)

자바를 이용해 프로그램을 개발하는 데 필요한 도구를 모아 둔 집합.

 

자바 실행 환경(JRE: Java Runtime Environment)

완성된 프로그램을 실행하는 데 필요한 환경

참고
Do it 자바 완전 정복

'Backend > JAVA' 카테고리의 다른 글

[Java] #5.2 참조자료형 - 문자열  (0) 2023.05.21
[Java] #5.1 참조 자료형 - 배열  (0) 2023.05.16
[Java] #4 제어문과 제어 키워드  (1) 2023.05.15
[JAVA] #3 연산자  (0) 2023.05.10
[JAVA] 변수와 자료형  (0) 2023.04.29
profile

숑숑이의 개발일기

@숑숑-

풀스택 개발자 준비중입니다