java 개발환경 셋팅 & 기초 어플리케이션 실행

2020-06-28

.

JAVA_TIL(20200628)

  • study program : youtube 생활코딩 채널 ‘JAVA1’

  • 학습환경 : Ubuntu 18

[학습노트]

  • 터미널을 열고 아래와 같이 명령어를 실행하여 JDK를 설치한다. JDK는 Java Development Kit를 말한다. 자바를 이용해서 개발할때 필요한 여러가지 도구들이 포함되어 있는 키트를 말한다.

  • 터미널에서 먼저 java -version을 실행해서 자바가 설치되어 있는지 확인한다. Command ‘Java’ not found 같은 출력처럼 자바가 설치가 안되어 있는 것을 확인했으면 아래와 같은 명령어로 자바를 설치해준다.

sudo apt update -y
sudo apt install default-jdk -y
  • 그런다음에 다시 java -version 명령을 실행했을때 openjdk version "11.0.7" 2020-04-14 같이 자바가 설치된 것을 확인할 수 있다.

  • 자바를 이용해서 어떤 프로그램을 만들려면 여러 툴이 필요한데 그 중에 eclipse를 설치할 것이다. 구글에서 eclipse를 검색하고 공식홈페이지에서 eclipse 설치파일을 다운로드 받는다. 그중에서도 eclipse IDE for Java developers를 설치한다.

install eclipse

  • 프로젝트를 하면 여러 소스코드나 이미지 파일 같은 것들을 모아두는 프로젝트 폴더가 있을텐데 그 프로젝트 폴더를 관리하는 화면이 화면좌측에 Package Explorer이다. 그리고 우리는 navigator를 이용해서 프로젝트 폴더를 관리할 것이다.

hello world 1

  • 그리고 프로젝트 폴더를 만들어본다. 화면 좌측 상단에서 file -> new -> java project 클릭

여기서 location은 이 프로젝트 폴더가 저장된 경로를 말하는 건데 내가 원하는 임의의 폴더로 저장이 가능하다.

그리고 JRE는 Java Runtime Environment를 의미하는 것으로 자바 프로그램(또는 버츄얼머신)을 말한다.

project layout은 우리가 만드는 프로젝트의 폴더 그 폴더의 구조를 어떻게 할것이냐를 말하는 것이다. 크게 두가지가 있다. 하나는 소스코드를 저장할 폴더, 또 하나는 그 소스코드를 컴파일한 결과를 저장할 폴더를 지정해야한다. 그 중에 첫번째 옵션은 root라고 되어있는데 이는 프로젝트 최상위 폴더에 소스코드와 컴파일된 실행파일인 class 파일 모두 같은 곳에 두겠다는 것이다. 두번째 옵션은 다른곳에 두겠다는 것인데 우측에 config를 클릭해보면 src와 bin이라는게 보일것이다. 이는 src 폴더에 소스코드를 보관할 것이고, 컴파일한 것은 bin 폴더에 저장할 것이다라는 것이다.

(이클립스의 중요한 특징은 소스코드가 저장된 폴더와 컴파일된 파일(class)가 저장될 폴더를 명시적으로 지정해야 한다는 것이다. 이 부분을 명확하게 설정안해주면 애러가 날 수 있다.)

우리는 일단 root 옵션(소스코드와 컴파일된 파일이 모두 HelloWorld 폴더로 저장시킨다는 옵션)으로 실습해볼 것이다.

그리고 next를 클릭하면 HelloWorld라는 프로젝트 폴더에 소스코드가 저장될 것이라는 것을 알 수 있다. compile된 결과도 하단에 보면 역시 HelloWorld 폴더에 저장될 것을 알 수 있다.

그리고 생성해보면 해당폴더에 자바 프로젝트 관련해서 이클립스의 파일이 저장된 것을 알 수 있다.

hello world 2

그런 다음에 HelloWorld 바로 상위폴더인 minman 폴더에서 터미널을 열고 git clone https://github.com/egoing/java1.git 으로 실습코드를 다운받는다.

그 다음에 프로젝트 폴더 안에서 아래와 같이 HelloWorldApp.java 프로그램을 생성해본다.

hello world 3

아래와 같이 코드를 작성하고 저장해본다. HelloWorldApp.java를 실행해라고 하면 아래코드와 같이 먼저 HelloWorldApp 클래스를 찾고, 그 안에 main 메서드 안에 코드를 실행하게 된다.

public class HelloWorldApp {
    public static void main(String[] args) {
        System.out.println("Hello world");
    }
}

hello world 4

그 다음에 아래 그림과 같이 자바 어플리케이션으로 run을 해본다.

Hello world를 출력해봤다. HelloWorldApp.java에 사람이 읽고 쓸 수 있는 자바 코드가 담겨있고, 저장을 눌렀을때 자바가 컴파일이라는 과정을 거쳐서 확장자가 class인 파일을 만든다. 이 확장자가 클래스인 파일을 메모장 같은걸로 열어보면 사람이 알아볼 수 없이 깨져있다. 즉 이 클래스 파일은 사람이 읽을 수 없는 파일이다. 그래서 우리가 run 버튼을 누르면 우리가 편집하고 있는 소스코드와 똑같은 파일의 class 파일을 실행하게 된다.