자바 (JRE, JDK, Eclipse : 개발 환경 구축)

8485 단어 JavaJava

자바의 역사

• 1995년 Sun Microsystems 에서 발표했다.
• 오라클(Oracle)이 2010년에 Sun Microsystems 를 인수했다.

자바의 특징

1. 객체 지향 프로그래밍(OOP) 언어이다.

자바는 객체 지향 프로그래밍(Object Oriented Programming) 언어이다.

2. 플랫폼 독립적이다.

한 번 작성되고 컴파일된 자바 코드는 운영체제나 CPU 등 플랫폼에 상관없이 자바 가상 기계(Java Virtual Machine)만 있으면 어떤 운영체제에서든 실행된다. 이를 WORA(Write Once Run Anywhere)라고 한다.

3. 보안에 강하다.

접근 제어자(Access Modifier)를 통해 외부로부터 데이터 접근을 제한할 수 있다.

4. 견고하다.

• JVM의 가비지 컬렉터가 자동으로 불필요한 메모리를 정리해준다.
• 예외처리 및 컴파일과 런타임 시에 오류를 검사한다.

JRE(Java Runtime Environment)와 JDK(Java Virtual Machine)

JRE란?

JRE는 Java Runtime Environment의 약자로 자바 프로그램을 실행시켜주는 환경을 구성해주는 도구다. 단, 프로그램을 개발하는 것은 불가능하다. 따라서 JRE는 자바 프로그램을 실행하는 데에만 사용된다.

JDK란?

JDK는 Java Development Kit의 약자로 말그대로 자바 개발시 필요한 툴킷을 제공하는 도구모음이다. 개발하려면 당연히 자바 프로그램 실행을 해야하기때문에 JDK 안에는 JRE가 포함되어있어 별도로 다운로드 할 필요가 없다.

JDK의 종류

• Open JDK : 링크텍스트

개발, 학습, 상업용 모두 무료(오픈소스기반)로 사용

• Oracle JDK : 링크텍스트

개발, 학습용은 무료
상업용으로 사용할 경우 년간 사용료 지불
장기 기술 지원(LTS : Long Term Support)으로 안정적

Oracle JDK 설치 (jdk-11.0.14)

  1. 링크텍스트 페이지로 이동한다.

  2. 상단 메뉴에서 '다운로드' 를 선택한다.

  3. '모든 Java 다운로드'를 선택한다.

  4. 페이지 상단에서 Java 에서 'Java(JDK) for Developers' 를 선택한다.

  5. Java SE 11 (LTS) 에서 Oracle JDK 에서 사용할 운영체제에 맞게 필자는 Windows 를 선택한다.
    단, 오라클 계정이 없는 경우 계정을 생성한 후 라이센스에 동의한 후 다운로드한다.
    • jdk-11.0.14_windows-x64_bin.exe 실행파일을 다운로드한다.

    ※ 설치 경로를 C:\jdk-11.0.12 로 한다.

    환경 변수 설정

    - OS(운영체제) 에서 사용하는 변수를 환경변수라고 한다.
    - java, javac 등을 실행하려면 bin 아래의 경로까지 들어가야하는데, 환경 변수를 설정하면 cmd(명령 프롬프트)
      창에서 자바 설치 폴더까지 이동해서 명령어를 입력할 필요없이 어느 위치에서든 자바를 사용할 수 있기때문이다.
  6. 작업표시줄 검색창에 시스템 환경 변수 편집이라고 검색하고 클릭한다.

  7. 시스템 속성 고급 탭 하단에 환경 '변수(N)...' 을 클릭한다.

  8. 시스템 변수(S) 하단에 '새로 만들기(W)...' 을 클릭한다.

  9. 변수 이름(N):에 'JAVA_HOME'을 입력하고, 변수 값(V):에 'C:\jdk-11.0.14'을 입력하고 확인 버튼을 누른다.

  10. 시스템 변수(S)에서 스크롤을 내려 Path 라는 변수를 클릭하고 '편집(I)...' 버튼을 클릭한다.

  11. 새로 만들기(N) 버튼을 선택한 후 '%JAVA_HOME%\bin'을 입력한 후 맨 위로 이동시킨다.
    (해당 경로를 제일 먼저 확인하기 위함이다.)

JDK 버전 확인 - CLI (Command-line interface)

  1. 시작 메뉴에서 명령 프롬프트를 선택한다. (검색창에 cmd 를 입력한다.)

  2. 명령 프롬프트 창에서 set 을 입력한다.

    • set : 명령 프롬프트 환경에서 환경변수 설정 및 확인하는 명령어
    • 환경 변수 JAVA_HOME, Path 를 확인한다.
    - set path
    - set JAVA_HOME

  3. JDK 버전 확인

    • java -version

간단한 자바 프로그램 작성

  1. 소스파일을 작성한다. (Hello.java)
  2. Java Compiler (javac)를 사용하여 자바 소스 파일을 컴파일한다.
    컴파일을 하면 자바 바이트 코드(Hello.class 파일)가 생성된다.
    C:\java> javac Hello.java

  3. 자바 명령어( java command)는 자바 바이트 코드를 해석(interpret)하고 실행한다.
    이 과정에서 바이트 코드가 바이너리 코드로 변경된다.
    C:\java> java Hello

자바 프로그램 실행과정 및 JVM의 구조

  1. Java Compiler ( javac )

    • Java 소스 파일은 JVM 이 해석할 수 있는 자바 바이트 코드(.class 파일)로 변경된다.

  2. Class Loader

    • JVM 내로 .class 파일을 로드한다. 로딩된 클래스들은 Runtime Data Area 에 배치된다.

  3. Execution Engine

    • 로딩된 클래스의 바이트 코드를 해석(interpret)하고 실행한다. 이 과정에서 바이트 코드가 바이너리코드로 변경된다.

Runtime Data Area

JVM 이 프로그램을 수행하기 위해서 OS(운영체제)로 부터 할당받은 메모리 영역이다.

  1. Method Area

    • Class 와 Interface 의 자바 바이트 코드 및 메타 데이터가 저장된다.
    • Field Information, Method Information, Class Variable(클래스 변수), 상수
    • Java 8 이후로는 Metaspace 라는 OS 가 관리하는 영역으로 변경되었다.

  2. Heap Area

    • new 명령어로 생성된 인스턴스가 저장되는 영역
    • Garbage Collection 의 대상이 되는 영역

  3. Stack Area

    • 메소드 내에 사용되는 값들(매개변수, 지역변수, 리턴값 등)이 저장되는 영역.

  4. PC Register

    • CPU 의 register 와 역할이 비슷하다. 현재 수행중인 JVM 명령의 주소값이 저장된다.

  5. Native Method Stack

    • 다른 언어(C/C++ 등)로 작성된 네이티브 코드들을 위한 영역
    • JNI 를 통해 호출되는 C/C++ 코드

Eclipse 개발 환경 구축

Eclipse 란?

• 무료 오픈 소스 통합 개발 환경(IDE : Integrated Development Environment) 도구이다.
• IDE : 프로젝트 생성, 자동 코드 완성, 디버깅 등과 같이 개발에 필요한 여러가지 기능을 통합적으로 제공해주는 도구이다.

Eclipse 설치 : Eclipse IDE 2020-03 R Packages

  1. 링크텍스트 사이트로 이동한다.
  2. Download 버튼을 선택한다.
  3. Download Packages 를 선택한다.
  4. Eclipse IDE for Enterprise Java Developers 에서 운영체제에 맞는 항목을 선택한다.
  5. eclipse-jee-2022-03-R-win32-x86_64.zip 파일을 다운로드한다.
  6. C:\eclipse 폴더에 설치한다.
  7. eclipse.exe 파일을 실행한다.
  8. Browse... 버튼을 클릭하여 워크스페이스를 선택한 후 Launch 를 선택한다.
    • 워크스페이스 : 프로젝트를 저장하는 작업 폴더이다.
    C:\본인이름폴더(ex : lys)

Eclipse 화면 구성

Java 퍼스펙티브

이클립스에서 프로젝트를 개발할 때 유용하게 사용하는 뷰(view)들을 묶어 놓은 것을 말한다. 뷰는 이클립스 내부에서 사용되는 창을 말한다. 기본적으로 이클립스(Eclipse IDE for Java EE Developers)는 Java EE 퍼스펙티브를 보여준다. 자바를 처음 학습할 때는 Java EE 퍼스펙티브보다는 Java 퍼스펙티브로 변경하는 것이 좋다. Java 퍼스펙티브를 변경하려면 메뉴에서 [Window → Open Perspectives → Java]를 선택하면 된다.

Package Explorer 뷰

개발자가 프로젝트를 관리하고, 자바 소스 파일을 생성 및 삭제하는 작업을 한다.
[Package Explorer 뷰 창이 사라지면 Window → Show View → Package Explorer 를 선택한다.]

Console 뷰

소스코드가 실행되는 결과나 오류 등을 보여주는 창이다.
[Console 뷰 창이 사라지면 Window → Show View → Console 을 선택한다.]

Eclipse 에서 Java Project 생성 및 실행

  1. 자바 프로젝트 생성

    • Project name : helloApp

    • 모듈은 만들지 않을것이기때문에 Don't Create 선택
  2. 소스파일(Java Project) 생성 : Hello.java
  3. 자바 클래스 생성
    • Package : 파일들을 기능별로 분류하기 위한 폴더를 말한다.
    패키지명 (명명규칙 : 첫글자는 소문자로 시작한다.) hello
    • Name : 클래스명 (명명규칙 : 첫글자는 대문자로 시작한다.) Hello
    • public static void main(String[] args) 항목을 체크한다.
  4. 소스 코드 작성
    System.out.println("Hello, Java!!");
  5. 프로그램 실행 : CTRL + F11 (단축키)

좋은 웹페이지 즐겨찾기