Language/Java

[자바_복습] 자바 프로그램 설치

simDev1234 2022. 2. 1. 18:40

1. 자바란?

- 1991년 제임스 고슬링에 의해 만들어진 객체 지향 프로그래밍 언어

- '한 번 작성하면 어디서든 실행된다'는 목표를 가지고 만들어졌다.

[※ 참고하기 객체지향과 절차지향이란?]

(1) 절차지향(PP, procedure programming) : 하나씩 절차에 따라 코드를 작성하는 것 (순서대로 쓰는)
    - 절차지향은 "순서"에 따라 "데이터"를 어떻게 입출력할 건지 고려하여 코드를 작성한다.
    - C언어의 경우, 절차지향언어로 잘 알려져 있는데, 
      C언어는 3세대 컴파일러 언어로, 한 번 컴파일을 하면 그 자체를 컴퓨터가 통으로 읽는다. 
      그렇기에 소스코드도 #include, 프로토타입을 선두에 먼저 쓰고, 차곡차곡 코드를 작성해준다.

(2) 객체지향(OOP, object oriented programming) : 객체(속성+기능)을 꺼내 쓰는 것(골라쓰는)
    - 객체지향은 절차지향과 다르게 속성과 기능들을 하나로 묶어서 객체로 만든다. 
    - 과거 우주항공이 발달되던 시절, 
      실제 세계는 여러 객체가 서로 상호작용하며, 
      각 객체 내에는 자신 고유의 속성과 기능이 존재한다는 것을 알고 객체지향언어를 만들어냈다.
   
(3) 절차지향언어와 객체지향언어는 대립된 관계가 아니다.
    - 자바를 쓰더라도 절차적으로 코드를 짤 수 있다.


2. JDK,JRE 설치하기(운영체제별로 상이)

 

[설치 순서 요약]

[1] 내 컴퓨터의 운영체제 사양 확인(32bit or 64bit)
[2] JDK, JRE 설치 (Oracle에서 JDK installer를 설치하면 JRE도 같이 설치된다)
[3] 시스템 환경변수 설정하기

 

(1) 내 컴퓨터의 운영체제 사양 확인(32bit or 64bit)

- 내 컴퓨터 > 내PC > (우측마우스) 속성

 

 

 

 

 

 

 

 

 

 

 

 

- 장치사양 > 시스템 종류 확인 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(2) JDK, JRE 설치

- Oracle JDK 설치파일 다운로드 링크 : Oracle,  https://www.oracle.com/java/technologies/downloads/

- 위 링크는 영어다. 어려우니 페이지에서 설치파일 찾는법을 적어보았다.

  [0] java 버전을 먼저 고른다. - java 8, java 11, java 17....

     (현장에서는 java 8이 자주 쓰이므로 java8을 다운하는 것이 좋다 한다..) 

  [1] 운영체제 탭(Linux/macOS/Windows)에서 내 컴퓨터의 운영체제를 선택(ex. windows)한다.

  [2] 운영체제 크기(32bit or 64bit)에 따라 파일 다운로드 

      * Compressed Archive = 압축 버전

      * Installer = 설치 
        // 아래 이미지에 형광색 표시는 Compressed에 했는데, Installer로 설치하면 된다.

 

[ ※ 참조하기 : JDK,JRE,JVM은 뭐고, 왜 JDK는 운영체제마다 설치파일이 다를까? ]

(1) JDK,JRE,JVM이란?
- java언어는 '한 번 실행하면 어디서든 작동'되기 위해 만들어진 언어이다. 그렇기에 java언어 자체는 어느 운영체제이건 독립적으로 작동하는 것이 맞다. 
- JDK는 개발자를 위해 만들어진 개발용 키트다. 우린 JDK를 통해 컴파일을 할 수 있고, 개발툴을 사용할 수 있다.
- JRE는 자바 런타임 환경을 말하는 것으로, JDK를 설치할 때 같이 설치되며, 여러 라이브러리와 각종 파일을 담고 있다.
  (사용자용은 JRE만 별도로 설치 가능)
- JVM은 자바 가상 머신을 말하는 것으로, 이 JVM이 JDK의 심장이며, 프로그램을 운영체제에 맞게 실행하는 역할을 한다.
- JDK 설치파일이 운영체제마다 달랐던 이유는, 각 운영체제에 맞춰 이 jdk가 각각 조금씩 달랐기 때문이다.
  (쉽게 말해 이렇다. 초콜릿을 만들 때, 같은 카카오 재료(자바)를 쓰더라도, 중간에 어떤 공정과정(각 운영체제별 JDK)을 거치느냐에 따라 단짠이 좋은 이(Windows)에게 맞을 수 있고, 아니면 쌉쌀한 쓴맛이 좋은 이(Unix)에게 맞을 수도 있다.)
* 참고 이미지 출처 : https://codevang.tistory.com/86



(2) JDK/JRE의 JVM이 작동되는 과정
- 가정 : 개발자가 컴퓨터에서 프로그램 1,2,3...을 개발했다.

- 개발 중>
  JDK에서 각각의 프로그램에 대해 컴파일링
  **컴파일 시 문자의 인코딩도 함께 이루어진다.
  **java -encoding utf-8 hello.java : java언어로 작성한 소스코드의 문자를 jdk가 컴파일 시 UTF-8 형식으로 인코딩

- 실행 시>
  프로그램 1,2,3... 각각 실행 시, 컴퓨터 내 JRE에 따라서 JVM 1,2,3... 이 각각 형성되어 구동


(3) 운영체제에서 명령어를 작성해서 자바가 잘 설치되었는지 확인하는 방법

: java -version, javac -version 을 작성해서 자바가 잘 설치되었는지 확인 

 

3. 시스템 환경 설정하기

※ 참조 : https://whitegom.tistory.com/3

 

(1) [시스템 속성]에서 [환경변수]창 열기

- 환경 설정 접근 경로1 : 제어판>시스템및보안>시스템>고급시스템설정>고급>환경변수

- 환경 설정 접근 경로2 : 윈도우 탐색기 > "시스템 환경 변수 편집" 검색>고급>환경변수

 

(2) JAVA_HOME 변수값 만들기

[1] [새로 만들기]를 누르고 

[2] 변수명을 JAVA_HOME으로 한 뒤, java.exe와 javac.exe 위치의 상위 폴더 경로를 입력

[3] [확인]을 누른다.

[※ 여기서 잠깐! ~~~에 대한 사용자변수(U)와, 시스템 변수(S)는 뭘까?]
- 컴퓨터를 쓸 때, 같은 운영체제 내에서 사용자가 여러명이 있을 수 있다.
- 지금 여기에서의 특정 사용자를 위한 변수를 사용자변수라 하고, 모든 사용자를 위한 공통 변수를 시스템 변수라 한다.

 

(3) PATH에 자바 설치 위치 입력하기

[1] Path를 더블클릭
[2] java.exe와 javac.exe가 있는 폴더경로까지 입력 // %JAVA_HOME%\bin

 

 

4. 시스템 환경 설정이 잘 되었는지 확인하기

(1) JAVA_HOME 변수가 잘 입력되었는지 확인 -- 명령인자 echo 사용 (상세 경로 출력)

 

(2) path가 잘 설정되었는지 확인 -- path 입력 또는, java/javac입력

▼ cmd에 path를 입력하니, 아래와 같이 java.exe이 설치된 경로가 나타난다.

▼ cmd에 java를 입력하니, 아래와 같이 나온다.

   - path가 잘 설정되지 않으면, "내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다"가 뜬다.

 

 

5. 시스템 환경 설정에서 "클래스 환경 변수" 추가하기

(1) 클래스 환경 변수 --  CLASSPATH = .   //내 프로그램을 기준으로 다른 클래스를 참조하겠다.

     .  : 현재 경로
     .. : 상위 경로

 

[※ 참고하기 : cmd에서 위치 이동하는법 [cd] 사용]

경로를 이동해보자

     .  : 현재 경로
     .. : 상위 경로
     \ : 이 드라이브의 맨 앞
    cd : change directory

 

[※ 참고하기 : 시스템 환경 설정을 왜 해야할까?]

- cmd의 default 경로 : C드라이브>사용자(user)>현재사용자명

- JDK을 다운로드하면 보통 C드라이브>programe files>java에 파일들이 설치된다. 
- 그러나 앞서 말했듯 cmd의 default위치는 user명이고, 우리가 저장할 소스코드는 컴퓨터 내에 어디에든 있을 수 있다.
- 컴퓨터는 바보라, path 지정 없이는 컴파일하는 javac.exe나, 실행하는 java.exe의 위치를 명시해야 그게 뭔줄 알고 작업을 한다.
▼ path 설정을 안 하면, 아래처럼 "  "안에 javac.exe의 상위 경로를 모두 치고 + .java를 해야 컴파일이 된다.


- 이렇기 때문에, 컴퓨터의 어느 위치에 있더라도, java.exe와 javac.exe가 접근할 수 있게 구태여 path 설정을 해준 것이다.