Java

[Java] Java 개발 환경 구축하기

haehyun 2021. 8. 1. 20:02

JDK 설치

  • JDK(Java Development Kit) = 자바 응용프로그램 개발 도구 + 자바 가상 머신 + JRE
  • JRE(Java Runtime Environment) : 자바 응용프로그램이 실행될 때 필요한 소프트웨어들. 표준 클래스 파일을 포함

 

1. Oracle Java SE Download 페이지에 접속한다.

https://www.oracle.com/kr/java/technologies/javase-downloads.html

  • Java SE(Standard Edition) : 표준 배포판, 데스크톱 응용프로그램 + 서버 응용프로그램 개발 환경 
  • Java ME(Micro Edition) : 모바일용 배포판, 스마트폰 등 제한된 리소스를 갖는 하드웨어 응용프로그램 개발 환경
  • Java EE(Enterprise Edition) : 기업용 배포판, 다중 사용자·대규모 기업 응용 프로그램 개발 환경

 

2. 스크롤을 내려서 Java SE 8 버전에서 "JDK Download"를 클릭한다.

 

3. 스크롤을 내린 뒤, 자신의 OS 및 버전에 맞는 설치파일을 클릭한다.

 

4. 오라클 로그인 화면이 뜨며, 로그인에 성공하면 자동으로 설치파일이 다운로드 된다.

 

5. 다운로드 받은 JDK 설치 파일을 실행한다.

 

6. JDK의 설치 경로를 지정한다. (기본 설치 경로 : C:\Program Files\Java\~)

 

7. JRE의 설치 경로를 지정한다. (기본 설치 경로 : C:\Program Files\Java\~)

 

8. 설치가 완료되면 "Close" 버튼을 클릭한다.

"Next Steps"를 클릭하면 Java Standard Edition 8 Document 사이트로 이동한다.

https://docs.oracle.com/javase/8/docs/

 

Java Platform Standard Edition 8 Documentation

docs.oracle.com

 

7. 위에서 지정한 JDK 설치 경로로 이동하여 JDK, JRE가 제대로 설치된 것을 확인합니다.

 

8. 설치된 JDK 폴더를 클릭한 뒤, bin 폴더에 들어갑니다. 환경변수 설정을 위해 현재 경로를 복사해줍니다.

9. 키보드 Window 키 + R 을 눌러서 실행 창을 켜준 뒤, "cmd"를 입력 후 "확인"을 클릭합니다.

 

9. 아래 명령을 입력하여 현재 설치된 Java의 버전을 확인합니다.

java -version

javac -version

 

Error : Java Platform SE 바이너리가 작동을 멈췄습니다

명령을 입력했는데, 위와 같은 에러창이 뜨면서 자바 버전이 표시되지 않는다면

[제어판] > [프로그램및기능]에서 아래 두 항목을 제외하고 다른 버전의 Java 항목이 존재하는지 확인한다.

만약 "Java SE Development Kit 16.0" 과 같이 다른 버전이 존재한다면 삭제한다.

 

환경변수 설정

1. 키보드 Windows 키 + R 을 동시에 눌러서 실행 창을 띄운다.

 

2. 실행 창에서 "sysdm.cpl"을 입력한 뒤 확인을 클릭한다.

 

3. 시스템 속성 창이 뜨면 [고급] 탭에서 "환경변수" 버튼을 클릭한다.

 

4. 시스템 변수에서 "Path" 혹은 "PATH"를 클릭한 채로 "편집" 버튼을 클릭합니다.

 

5. "새로 만들기"를 클릭해서, 위에서 복사해둔 bin폴더 경로를 붙여넣어준 뒤 "확인"을 클릭합니다. 

 

Java API Documentation 다운로드

1. 아래 경로에서 설치한 Java 버전에 대한 문서를 확인할 수 있다. (=Java SE 8 Documentation)

https://docs.oracle.com/javase/8/docs/

 

Java Platform Standard Edition 8 Documentation

docs.oracle.com

 

2. Java SE 8 Documentation를 다운로드해서 로컬에서 확인할 수도 있다.

https://www.oracle.com/kr/java/technologies/javase-jdk8-doc-downloads.html

 

3.  다운로드 받은 파일을 압축해제

 

4. 압축해제 결과물인 'docs' 폴더안에 있는 'index'파일을 더블클릭하면 1번과 같은 페이지가 표시된다.

 

5. Java SE 8 Documentation 페이지에서 'Java SE API'를 클릭하거나,
다운로드 받은 [docs] 폴더 > [api] 폴더 > 'index'파일을 더블클릭하면 Java API 페이지가 표시된다.

Java SE 8 Documentation
[docs] > [api] > 'index'
Java SE 8 API

 

이클립스(Eclipse) IDE 설치

프로그램 소스코드 편집, 컴파일, 디버깅을 위한 IDE(Integrated Development Environment)에는 Visual Studio, Eclipse, Netbeans 등 다양한 종류가 있으며, 이 중에서 Java 개발에 가장 많이 사용되는 Eclipse를 설치하고 세팅해보자.

 

이클립스 버전명은 우주 행성, 위성, 화학물질 등 과학적인 단어로 명명하고 있다. ex) Luna, Mars, Neon, Oxygen 등

 

1. 이클립스 다운로드 페이지에 접속한다.

https://www.eclipse.org/downloads/

 

Eclipse Downloads | The Eclipse Foundation

The Eclipse Foundation - home to a global community, the Eclipse IDE, Jakarta EE and over 375 open source projects, including runtimes, tools and frameworks.

www.eclipse.org

 

2. "Download Packages"를 클릭한다.

 

3. 우측 MORE DOWNLOADS 메뉴에서 "Older Versions"를 클릭한다.

 

4. "Photon"을 클릭한다.

 

5. "R Packages"를 클릭한다.

 

6. "Eclipse IDE for Java EE Developers"에서 자신의 운영체제에 맞는 것을 선택합니다.

 

7. "Download" 버튼을 클릭합니다.

 

8. 다운로드 받은 파일(.zip)의 압축을 해제한 뒤, 이클립스를 실행합니다.

 

9. "Browse"버튼을 클릭하여 작업 소스코드 및 리소스 파일들이 저장될 workspace를 지정해준다. 

Use this as the dafault and do not ask again : 해당 경로를 기본 workspace 경로로 지정하고 다시 묻지 않는다.
*워크스페이스(Workspace) : 이클립스 프로젝트 파일이 저장되는 위치

 

10. 실행 완료

 

11. 위에서 지정한 워크스페이스(WorkSpace)는 언제든지 변경 가능하다.

11-1. [File] > [Switch Workspace] > [Others...]

 

 

이클립스(Eclipse) 세팅

Workspace 변경

1. 프로그램을 시작하면서 지정한 workspace를 변경하려면 [File]>[Switch Workspace]>[Other...] 을 클릭한다.

 

2. 현재 Workspace가 표시되며, [Browse] 버튼을 클릭해 새롭게 Workspace로 사용할 위치를 지정해준다.

 

JRE 참조

1. [Windows] > [Preferences]

 

2. [Java] > [Installed JREs] > [Add] 클릭

 

3. "Standard VM" 선택 > [Next]

 

4. [Directory] 클릭 후 앞에서 Java를 설치한 경로를 찾아가 JRE 폴더를 선택한다.

ex) C:\Program Files\Java\jre1.8.0_291

JRE를 선택하면 자동으로 JRE home, name, system library 항목들이 채워진다.

5. [Finish] > [Apply and Close]

 

6. [New] > [Project] > [Java Project] 에서 위에서 추가한 JRE가 제대로 표시되는지 확인한다.

 

탭(Tab)문자를 스페이스(Space)로 바꾸기

1. [Windows] > [Preference]

2. [General] > [Editor] > [Text Editor] > "insert spaces for tabs" 체크 > "Displayed tab width : " 4 입력.

 

 

 

텍스트 파일 인코딩 설정(UTF-8)

[General] > [Workspace] > Text file encoding > Other : "UTF-8" 선택

 

Java Code Style 적용

1. https://github.com/google/styleguide 에서 표준 스타일 다운로드 후 압축 해제

2. [Java] > [Formmater] > [Import...]

 

3. "eclipse-java-google-style.xml" 파일 선택

 

4. Active profile이 GoogleStyle로 설정됨 > [Apply]

 

Web 파일 인코딩 설정(UTF-8)

[Web] > [CSS Files] / [HTML Files] / [JSP Files] > Encoding : ISO 10646/Unicode(UTF-8) 선택

 

소스코드 글자 크기 변경

[General] > [Appearance] > [Colors and Fonts] > "Text Font" > [Edit] > 글꼴 변경

 

템플릿(Template) 설정

[Ctrl + Space] 단축키를 이용한 자동완성 시의 문장을 설정.

[Java] > [Editor] > [Templates]

 

소스코드 작성

1. [File] > [New] > [Project] > "Java Project"

 

2. Project name 입력 > JRE 버전 설정 > [Finish]

 

3. [Open Perspective]

 

4. 프로젝트 우클릭 > [New] > [Package]

5. Java Package Name 입력 > [Finish]

 

6. 패키지 우클릭 > [New] > [Class]

7. Java Class Name 입력 > "public static void main(String[] args)" 체크 > [Finish]

 

8. 클래스 파일 생성완료.

*클래스명=java파일명

 

9. main메소드 내에 소스코드 작성 > 실행(Ctrl+F11)

System.out.println("Hello World!")
- System : java.lang 패키지의 System 클래스
- out : System 클래스 내에 선언된 PrintStream 타입에 변수명이 out인 전역변수(static)
- println(string param) : PrintStream 타입에 내장된 메소드, 매개변수로 받은 문자열을 콘솔창에 출력.
- "Hello World" : println메소드를 호출하면서 메소드 내부로 전달하는 파라미터 값.
= System 클래스 내 선언된 PrintStream타입의 out변수에 접근해서 println()메소드를 호출

 

 

Java 프로그래밍 주의사항

  • 클래스 이름과 소스 파일의 이름이 같아야 한다.
  • 클래스 이름은 대소문자를 구분한다. (myClass != MyClass)
  • 프로그램 실행은 반드시 main() 메소드부터 시작한다.

 

이클립스 단축키

단축키 기능
Ctrl + F11 실행(Run)
Ctrl + Shift + B 현재 커서 위치에 중단점(Break Point) 설정/해제
F11 디버깅 시작
*디버깅 모드에서는 콘솔창에 에러 메시지가 나타나지 않는다. NullPointerException 과 같은 에러를 확인하고 싶다면 Ctrl+F11로 실행을 해야한다.
F8 디버깅 계속
F6 한줄씩 실행 (Step over)
F5 한줄씩 실행하되 함수일 경우 그 함수 내부로 들어감 (Step into)
F3 클래스나 메소드 정의부로 이동
*println() 메소드 위에서 단축키를 누르면 JDK의 PrintSteam.class파일의 println() 정의부로 이동한다. 이렇듯 기본 메소드의 경우 패키지(라이브러리)내 정의부로, 사용자 정의 메소드의 경우 자신이 직접 작성한 메소드 선언부로 이동한다.
Ctrl + R 현재 라인까지 실행(Run to Line)
Ctrl + Shift + F 소스코드 자동 정리, 들여쓰기 정렬
Ctrl + Shift + G 현재 커서 위치의 메소드나 필드를 참조(Reference)하고 있는 곳으로 이동.
*F3 단축키 기능과 반대
Ctrl + Shift + M 현재 위치에 필요한 클래스 Import
Ctrl + Shift + O 소스에 필요한 패키지 Import
Ctrl + Shift + R Open Resource, 모든 프로젝트에서 검색.
Ctrl + Shift + S 현재 열린 모든 파일 저장 및 컴파일
Ctrl + Shift + / 선택 영역 Block Comment 설정 (/* ... */)
Ctrl + Shift + \ 선택 영역 Block Comment 해제
Ctrl + / 한줄 또는 선택영역 주석처리/해제
Ctrl + . 다음 오류 위치로 이동
Ctrl + , 이전 오류 위치로 이동
Ctrl + D 한줄 삭제
Ctrl + F 검색 및 대치
Ctrl + I 소스코드 자동 정렬(들여쓰기 맞춤)
Ctrl + L 특정 라인 번호로 이동
*에러 메시지에서는 보통 에러가 발생한 라인(숫자)를 표시해주는데 이 때 해당 라인으로 바로 이동할 때 유용
Ctrl + Space 어휘 자동완성
*최고의 단축키. sysout만 쓴채 단축키 입력시 자동으로 System.out.println();이 완성됨
Alt + ↑ / ↓ 현재 라인 코드 줄 이동 (위/아래)
Ctrl + Alt + ↑ / ↓ 현재 라인 복사
Alt + Shift + R 이름 바꾸기(Rename)
sysout > Ctrl + Space System.out.println(); 자동 완성
for > Ctrl + Space for문 자동 완성
switch > Ctrl + Space switch~case문 자동완성
try > Ctrl + Space try~catch문 자동완성
Ctrl + 1 컴파일 시 발생한 컴파일 에러에 대한 해결책 표시

- [Ctrl + Shift + /] 이용해 다중 주석처리 후 [Ctrl + Shift + \] 단축키를 누르면 주석이 해제되기는 하나 들여쓰기가 깔끔하게 원상복구되지 않기 때문에 다중주석보다는 단일주석[Ctrl + /] 을 이용하는 게 편함.

단축키 확인 및 변경 : [Windows] > [General] > [Keys]

 

 

API Document HTML 파일 생성

API Document란 프로그램 내 클래스, 메소드 등의 기능과 로직을 설명하는 참조 문서이다. (=Manual, Reference)

Oracle에서 제공하는 Java API Document와 같이 우리가 직접 개발한 프로그램도 타인을 위해(혹은 이 프로그램의 기능을 전부 잊은 미래의 자신을 위해) 참조 문서를 간편하게 만들 수 있다.

 

JDK에 포함된 javadoc 프로그램을 이용해서 프로그램 내 클래스, 인터페이스, 생성자, 메소드, 필드 등에 대한 설명이 담긴 HTML파일을 생성할 수 있다.  API Document HTML을 생성하기 위해서는 소스 코드에서 클래스, 메소드 등의 선언부에서 /** 내용 */ 과 같이 주석문을 미리 적어둬야 한다.

인수인계 혹은 소스코드 공유 과정에서 이러한 API Document 파일을 함께 넘기면 소스를 이해하는 데 큰 도움이 된다.

/**
	계산기 클래스
*/
public class Calculator 
{
	/**
    	두 정수의 합 구하기
        @param a 첫번째 정수형 인자
        @param b 두번째 정수형 인자
        @return 두 정수의 합
    */
	public static int Add(int a, int b)
    {
    	return a+b;
    }
    
    /**
    	두 정수의 차 구하기
        @param a 첫번째 정수형 인자
        @param b 두번째 정수형 인자
        @return 두 정수의 차
    */
    public static int Sub(int a, int b)
    {
    	return a-b;
    }
    
    public static void main(String[] args)
    {
    	int a;
        int b;
        int result = Add(a, b);
        
        System.out.Println(result);
    }

}

 


JDK 20 Documentaion, https://docs.oracle.com/en/java/javase/20/

 

JDK 20 Documentation - Home

The documentation for JDK 20 includes developer guides, API documentation, and release notes.

docs.oracle.com

 

Java 20 API, https://docs.oracle.com/en/java/javase/20/docs/api/index.html

 

Overview (Java SE 20 & JDK 20)

This document is divided into two sections: Java SE The Java Platform, Standard Edition (Java SE) APIs define the core Java platform for general-purpose computing. These APIs are in modules whose names start with java. JDK The Java Development Kit (JDK) AP

docs.oracle.com