컴퓨터 작업 : 0과 1의 2진수 형태의 기계어로 해석할 수 있다.
자연어의 종류 : C, C++, C#, Java 등
Java ----------> 컴파일(Compile) ------------> 기계어
사람 컴퓨터
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
컴파일 과정 예시
사람 : 1부터 10까지 더해줘 -> 프로그래밍 언어로 소스코드 작성 ->
컴파일러가 컴퓨터가 알아듣도록 번역 -> 프로그램 실행
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
사람이 입력한 것을 컴퓨터가 알아들을 수 있게 해석하는 과정을 컴파일이라고 한다.
컴파일러(Compiler) : 기계어로 변환하는, 즉 컴파일 작업을 하는 프로그램이다.
언어별로 컴파일러 프로그램이 존재한다.
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
20 page 자바를 쓰면 좋은 이유
장점 1. 자바는 플랫폼에 영향을 받지 않으므로 다양한 환경에서 사용할 수 있다.
예시로 C언어로 개발한 프로그램이 있다면, 운영체제마다 새로 만들어야 한다.
C 소스 코드
ㄴ Windows 운영체제
C언어 - 윈도우 컴파일 작업 -> 결과 소스
ㄴ Linux 운영체제
리눅스 실행 파일 -> 리눅스에서 실행
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
자바 소스 -> 컴파일러 -> 바이트코드 (중간 기계어)
자바는 컴파일을 하면 '바이트코드' 라는 실행 파일을 만든다. (예시: Example.exe)
이 바이트코드는 100% 기계어가 아닌 중간 기계어이다.
이 차이로 C언어와 다르게 바로 기계어로 되지 않기 때문에 운영체제에 맞게 실행이 된다.
바이트코드를 실행하려면 운영체제에 맞는 자바 가상 머신(JVM)이 필요하다.
운영체제에서 직접 실행하는 것이 아니라 가상 머신에서 먼저 실행한다.
이 가상머신이 운영체제에 맞는 완벽한 실행파일로 바꿔서 만들어 준다.
=> .class 파일을 만들어두면 운영체제에 맞는 가상머신을 이용하여 어느 환경에서나 실행할 수 있다.
+) 나머지 장점 2. 3. 4
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
자바 JDK(Java Development Kit) : 자바 프로그래밍 명령어와 관련 프로그램으로
자바 프로그램을 개발하는 데 필요한 라이브러리와 플랫폼이 포함되어 있다.
Oracle JDK는 상업적 이용을 할 경우 유료이기 때문에,
무료로 이용하고자 할 경우 Oracle의 OpenJDK 빌드 또는 Zulu JDK, AdoptOpenJDK 등의
OpenJDK 기반 빌드를 이용하여야 한다.
JDK 설치
IDE : 소스 코드를 작성하는 통합 개발환경 프로그램을 뜻한다.
IDE 예시 : Visual Studio Code, 인텔리 J, 이클립스 등이 있다.
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
명령 프롬포트로 확인
C:\Program Files\Java\jdk-17\bin> dir java*.exe
java.exe
javac.exe
javadoc.exe
javap.exe
javaw.exe를 확인할 수 있다.
path 경로에
C:\Program Files\Java\jdk-17\bin> javac -version
javac의 버전을 확인할 수 있다.
#javac -> java 프로그램을 컴파일 하는 프로그램
#LTS :
ㅡㅡㅡㅡㅡㅡㅡ
이클립스 다운로드 및 생성
workspace : 작업한 자바 소스코드를 관리하는 폴더
이클립스도 jdk 지원 버전이 존재한다.
jre -> JAVASE-17
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
~@ 직접 자바 소스 코드 파일 컴파일 하기~
1. 메모장에 소스 코드 작성
package hello;
public class HelloJava {
public static void main(String[] args) {
System.out.println("Hello, Java");
}
}
2. 명령 프롬포트에 javac 파일명.java 으로 컴파일 한다
컴파일을 하게 되면 이전에 없던 java 파일명.class 파일이 생성된다.
이 파일이 앞서 말했던 바이트코드이다.
바이트코드로 운영체제에 맞게 실행할 수 있게 된다
3. java 파일명 으로 프로그램을 실행한다
# 소스 코드가 수정될 때마다 javac, java를 사용하여 계속 갱신해줘야 한다.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
이클립스는 Run의 기능은 컴파일러(javac.exe), 실행(java.exe) 기능을 알아서 처리해준다.
따라서 위의 과정보다 편하게 컴파일과 실행할 수 있어서 개발 속도를 빠르게 하여 향상시킬 수 있다.
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
주석 : 컴파일러가 해당 내용을 해석하지 않는다.
따라서 코드에 대한 설명을 적어주면 다른 사람이 보기에 코드를 이해하기 좋다.
또한, 특정 코드가 컴파일 되지 않도록 처리하기도 한다.
// 한줄 주석
/**/ 여러줄 주석
ㅡㅡㅡㅡㅡㅡㅡㅡ
1장 자바 프로그래밍 시작하기 정리
1. 프로그램(코드)를 기계가 이해할 수 있는 언어로 바꾸는 작업을 (컴파일러)라고 합니다.
2. (객체지향 언어)는 자바나 C++와 같이 대상이 되는 객체를 기반으로 프로그램을 구현하는 언어입니다.
3. 자바로 만든 프로그램은 (자바가상머신)이 설치되어있으면 운영체제와 상관없이 실행할 수 있다.
4. 자바 개발을 위해 설치하는 자바 라이브러리 "jdk"라고 합니다.
5. 자바 프로그램이 실행되는 자바 실행 환경을 "jre"라고 합니다.
6. 두 번째 자바 프로그램을 만들어 보세요. 이클립스에서 "Hello.java" 대신 본인의 이름을 출력해 보세요.
'BackEnd > Java' 카테고리의 다른 글
[Java] DTO, VO, DAO 차이점 (0) | 2024.11.12 |
---|---|
[JAVA] Garbage Collection (0) | 2024.11.03 |
[JAVA] 자바 컴파일 과정 (0) | 2024.03.25 |