포스트

Day03 Application 개념(이어서), Java 기초 및 설치

3일차 - Application 개념(이어서), Java 기초 및 설치

1. Application 개발 방식

  • Application 개발 방식은 Compile 과 Interpreter 방식이있다.
  • Compile: C, C++처럼 소스를 컴파일을 하여 기계어로 변경하는 방식이다.
  • Interpreter: Python, JavaScript처럼 소스를 한줄씩 기계어로 변경하는 방식이다.

Application Image

1.1 컴파일 방식

  • 컴파일 방식은 소스를 오브젝트파일로 컴파일 한다.
  • 생성된 오브젝트파일을 링크를 통해 실행파일로 만든다.
  • 오류 발생시 컴파일이 중단되어 실행 파일이 생기지 않는다.

Compile Image

1.2 인터프리터 방식

  • 인터프리터 방식은 소스를 한줄씩 기계어로 변환 하여 실행한다.
  • 오류가 발생하기 전까지 실행 되어 오류를 사전에 알 수 없다.

Interpreter Image

1.3 Hybrid 방식

  • 컴파일의 단점: OS별로 컴파일을 해야한다.
  • 인터프리터의 단점: 실행할때마다 소스가 필요하기 때문에 소스를 공개해야 하고, 문법검사를 해야하여 실행속도가 느리다.
  • Hybrid 방식: 가상 인터프리터를 사용하여 한번의 컴파일만으로 여러 OS에 구동가능하며, 기계어와 흡사하여 실행 속도가 빠르다.

Hybrid Image

1.4 Java를 사용하는 이유

  • Hybrid 방식을 채택하여 컴파일러를 통해 Bytecode를 생성하여 소스를 보호.
  • Bytecode를 JVM(Java Virtual Machine)을 통해 OS상에 실행하여 실행속도가 빠름.

2. Java 설치 하기

2.1 Oracle 홈페이지 및 JDK 21 다운로드

  • 오라클 홈페이지에 접속하여 맥용 JDK21 버전을 설치한다.
  • 설치 링크: Oracle JDK21

JDK Download Image

2.2 시스템변수 설정

JDK 버전확인

  • 터미널 실행 후 cd /Library/Java/JavaVirtualMachines 입력.
  • ls 명령어로 자바버전 확인 (나는 22버전, 21버전이 있어 21버전을 기본값으로 세팅하였다.)

JDK Version Image

경로확인

  • 터미널에 /usr/libexec/java_home -v 21 경로 확인.

Path Check Image

nano 편집기를 통해 경로 설정

  • 터미널에 nano 편집기로 zshrc 실행(명령어: nano ~/.zshrc).
  • 맨 밑에 path 입력 후 경로 설정.
  • JAVA_HOME = $(/usr/libexec/java_home -v 21).
  • PATH = $JAVA_HOME/bin:$PATH.
  • [^o]로 저장을 하고 [^c]로 나온 다음 [^x]로 빠져나온다.

Nano Editor Image

Java 버전 확인

  • 자바 버전 확인: 터미널에 java -version.
  • 컴파일러 버전 확인: 터미널에 javac -version.

Java Version Image

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 출력 프로그램 실행

Hello World Output Image

3. Java 기초개념

3.1 Java 컴파일 과 실행

  • “Write once, Run anywhere”: 어떤 OS용 컴파일을 사용하던지 생성된 Bytecode는 같다.
  • 생성된 Bytecode로 OS별 JVM에서 구동하므로 실행 결과도 같다.

Java Compilation Image

3.2 JDK의 구성

  • JRE(Java Runtime Environment): JVM + 실행 할 때 사용되는 도구.
  • JDK(Java Development Kit): JRE + 개발도구(컴파일러, 디버거, 프로파일러, 문서생성기 등).

JDK Structure Image

3.3 Java의 제품군

  • Java SE(Standard Edition): JRE, Server JRE, JDK.
  • Java EE(Enterprise Edition): Web APP PK, 분산관리도구, 자원관리도구, 웹서버 개발도구 등.
  • Java ME(Micro Edition): Embeded App(망함).

Java Products Image

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.