Day03 Application 개념(이어서), Java 기초 및 설치
3일차 - Application 개념(이어서), Java 기초 및 설치
1. Application 개발 방식
- Application 개발 방식은 Compile 과 Interpreter 방식이있다.
- Compile: C, C++처럼 소스를 컴파일을 하여 기계어로 변경하는 방식이다.
- Interpreter: Python, JavaScript처럼 소스를 한줄씩 기계어로 변경하는 방식이다.
1.1 컴파일 방식
- 컴파일 방식은 소스를 오브젝트파일로 컴파일 한다.
- 생성된 오브젝트파일을 링크를 통해 실행파일로 만든다.
- 오류 발생시 컴파일이 중단되어 실행 파일이 생기지 않는다.
1.2 인터프리터 방식
- 인터프리터 방식은 소스를 한줄씩 기계어로 변환 하여 실행한다.
- 오류가 발생하기 전까지 실행 되어 오류를 사전에 알 수 없다.
1.3 Hybrid 방식
- 컴파일의 단점: OS별로 컴파일을 해야한다.
- 인터프리터의 단점: 실행할때마다 소스가 필요하기 때문에 소스를 공개해야 하고, 문법검사를 해야하여 실행속도가 느리다.
- Hybrid 방식: 가상 인터프리터를 사용하여 한번의 컴파일만으로 여러 OS에 구동가능하며, 기계어와 흡사하여 실행 속도가 빠르다.
1.4 Java를 사용하는 이유
- Hybrid 방식을 채택하여 컴파일러를 통해 Bytecode를 생성하여 소스를 보호.
- Bytecode를 JVM(Java Virtual Machine)을 통해 OS상에 실행하여 실행속도가 빠름.
2. Java 설치 하기
2.1 Oracle 홈페이지 및 JDK 21 다운로드
- 오라클 홈페이지에 접속하여 맥용 JDK21 버전을 설치한다.
- 설치 링크: Oracle JDK21
2.2 시스템변수 설정
JDK 버전확인
- 터미널 실행 후
cd /Library/Java/JavaVirtualMachines
입력. ls
명령어로 자바버전 확인 (나는 22버전, 21버전이 있어 21버전을 기본값으로 세팅하였다.)
경로확인
- 터미널에
/usr/libexec/java_home -v 21
경로 확인.
nano 편집기를 통해 경로 설정
- 터미널에 nano 편집기로 zshrc 실행(명령어:
nano ~/.zshrc
). - 맨 밑에 path 입력 후 경로 설정.
- JAVA_HOME = $(/usr/libexec/java_home -v 21).
- PATH = $JAVA_HOME/bin:$PATH.
- [^o]로 저장을 하고 [^c]로 나온 다음 [^x]로 빠져나온다.
Java 버전 확인
- 자바 버전 확인: 터미널에
java -version
. - 컴파일러 버전 확인: 터미널에
javac -version
.
2.3 Java로 프로그램 만들기
Hello World 출력 프로그램 작성
1
2
3
4
5
6
7
8
9
10
11
public class Hello {
public static void main(String[] args) {
System.out.println("Hello world!!");
int a = 100;
if (a < 100) {
System.out.println("hahhahaha");
}
}
}
Hello World 출력 프로그램 실행
3. Java 기초개념
3.1 Java 컴파일 과 실행
- “Write once, Run anywhere”: 어떤 OS용 컴파일을 사용하던지 생성된 Bytecode는 같다.
- 생성된 Bytecode로 OS별 JVM에서 구동하므로 실행 결과도 같다.
3.2 JDK의 구성
- JRE(Java Runtime Environment): JVM + 실행 할 때 사용되는 도구.
- JDK(Java Development Kit): JRE + 개발도구(컴파일러, 디버거, 프로파일러, 문서생성기 등).
3.3 Java의 제품군
- Java SE(Standard Edition): JRE, Server JRE, JDK.
- Java EE(Enterprise Edition): Web APP PK, 분산관리도구, 자원관리도구, 웹서버 개발도구 등.
Java ME(Micro Edition): Embeded App(망함).
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.