본문 바로가기
개발자 꿈나무의 하루/01_Boot Camp

(네이버클라우드 부트캠프) 3일차 - Application 개념(이어서), Java 기초 및 설치

by kk_naks 2024. 5. 28.

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 버젼을 설치한다. 

     - 설치 링크 : https://www.oracle.com/kr/java/technologies/downloads/#java21

     - 계속을 눌러서 설치진행

  2.2 시스템변수 설정

     - JDK 버전확인

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

     - 경로확인

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

     - nano편집기를 통해 경로 설정

     - 터미널에 nano 편집기로 zshrc 실행(명령어 : nano ~/.zshrc)
     - 맨 밑에 path 입력 후 경로 설정 
     - JAVA_HOME = $(/usr/libexec/java_home -v 21)
         -> /usr/libexec/java_home -v 21의 리턴값 : /Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home
         -> $: 여기에 리턴값을 놓는다
         -> JAVA_HOME이란 변수에 /Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home 값을 대입
     - PATH = $JAVA_HOME/bin:$PATH
         ->  JAVA_HOME의 경로에 bin 폴더에 기존의 PATH를 새로운 PATH로 설정한다. 
         ->  JDK가 실행될때 시스템 변수로 새로운 PATH의 경로를 사용한다. 
     - [^o]로 저장을 하고 [^c]로 나온다음 [^x]로 빠져나온다.

    - Java버전 확인

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

  2.3 Java로 프로그램 만들기 

    - Hello World 출력 프로그램 작성 

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, JDF

    - Java EE(Enterprise Edition) : Web APP PK, 분산관리도구, 자원관리도구, 웹서버 개발도구 ......

    - Java ME(Micro Edition) : Embeded App(망함)