클라이언트/ 서버/ 엔지니어 " 게임 개발자"를 향한 매일의 공부일지

자바 시작 2 - 개발 도구와 자바 플랫폼 및 자바 프로그램 설치하기 본문

프로그래밍 언어/자바

자바 시작 2 - 개발 도구와 자바 플랫폼 및 자바 프로그램 설치하기

huenuri 2024. 8. 7. 07:39

이제 자바의 플랫폼과 자바 프로그램 개발에 대해서 좀더 자세히 학습해보기로 하자. 이 부분을 선생님은 빠르게 설명하고 넘어가셨지만 난 왠지 책에 있는 내용을 전부 학습해보고 싶었다.
그동안 수업 시간에 JDK라는 말을 가끔 사용하셨는데 그 말이 무슨 말인고 했었다. 이제는 알아들을 수 있게 되어 기쁘다.

바로 학습을 시작해본다!


 

 

 

개발 도구와 자바 플랫폼

 

JDK와 JRE

JDK(Java development Kit)는 자바 개발자를 위한 상업용 소프트웨어로, 자바 컴파일러 등의 개발 도구와 JRE(Java Runtime Environment)로 구성된다.
JRE는 자바 응용 프로그램이 실행될 때 필요한 소프트웨어들로 개발자가 활용할 수 있는 자바 API(이미 컴파일된 다양한 클래스 라이브러리)와 자바 가상 기계를 포함한다. 개발자가 아닌 일반 사용자의 경우 JRE만 필요하며 이것만 따로 다운받을 수 있다.

JDK가 사용자 디렉터리에 설치되면 다음과 같이 구성되며, 특히 bin 디렉토리에는 자바 응용프로그램의 개발을 돕는 소프트웨어들이 들어있다.

 

 

 

 

 

 

 

자바의 배포판

오라클은 응용에 따라 크 고 작은 여러 종류의 JDK를 제공하는데 이를 배포판이라고 부른다. 배포판의 종류는 10여 가지가 있지만 대표적인 대표판은 다음과 같다.

  • Java SE(Standard Edition) : 자바 표준 배포판으로 데스트톱 응용프로그램과 서버 응용프로그램을 개발하기 위한 JDK
  • Java ME(Micro Edition) : 모바일용 배포판으로 IoT, TV, 블루레이, 셋톱박스 등 작은 하드웨어 자원을 갖는 장치에 적합한 JDK
  • Java EE(Enterprise Editon) : 기업용 배포판으로 자바를 이용한 다중 사용자, 대규모 기업 응용프로그램 개발을 위한 JDK

 

 

 

Java 9부터 시작된 모듈 프로그래밍

 

2017년도에 Java 9가 세상에 나왔고 자바 플랫폼에 큰 변화가 이루어졌는데, 이것이 바로 모듈화(modularity)이다. 모듈이란 자바 패키지들과 이미지, XML 파일 등의 지원을 묶은 단위이다. 자바 응용프로그램을 마치 직소 퍼즐을 연결하듯이 필요한 모듈을 연결하는 방식으로 구성한다.

 

이를 위해 Java 9부터는 개발자들이 호출하는 Java SE의 모든 클래스들을 모듈로 재설계하고 재정리하였다. JDK를 설치하면 jmods 디렉터리 내에 담긴 모듈들을 볼 수 있다.
자바 모듈화의 대표적인 목적은, 세밀한 모듈화를 통해 자바 응용프로그램이 실행되는데 필요없는 모듈을 배제하여 작은 크기로 배포할 수 있도록 함에 있다. 이것은 하드웨어가 영악한 소형 IoT 장치에서도 필요한 모듈로만 구성된 작은 크기의 자바 응용프로그램에서도 실행시키고 성능을 유지하게 한다.

 

 

 

 

자바의 API

개발자들이 사용하도록 미리 만들어놓은 유용한 자바 클래스들의 집합이다. Java 9부터는 모듈화 정책에 따라 모든 자바 API의 클래스들을 서로 관련된 클래스끼리 패키지로 묶고, 다시 패키지들을 모듈화로 묶어 계층화해 놓았다. 자바 API는 워낙 광범위하여, 개발자는 이 API를 이용하여 쉽고 빠르게 자바 프로그램을 개발할 수 있다.

 

 

 

 

 

 

 

 

 

 

 

자바 IDE

IDE(Intergrated Development Enviroment)란 소스 코드 편집, 컴파일, 디버깅을 한꺼번에 할 수 있는 통합 개발 환경이다. 자바 응용 프로그램 개발에 현재 많이 사용되고 있는 IDE는 이클립스가 있다.

 

 

이 문제들은 많이 어려워서 찾아보며 풀었는데도 틀린 게 많았다. 맞춘 문제는 딱 하나였다. 책에는 자세한 설명이 나와있지 않기도 했다. 어쨌든 JRE와 JDK가 무엇인지 알고 자바 가상 머신을 가동시키는 프로그램이 무엇인지 파악하면 된다. 나머지는 특별히 중요하지 않은 내용인 것 같다.


 

 

이클립스를 이용한 자바 프로그램 개발

 

1. JDK 설치하기

 

구글 창에서 JDK 1.8 다운로드를 검색한다.

JAVE SE 8

 

Java Archive Downloads - Java SE 8 | Oracle 대한민국

 

www.oracle.com

 

 

최신보다는 다운그레이드 버전을 사용하는 것이 좋다.

 

 

 

 

자바 버전 확인하기

 

 

 

2. 이클립스 설치하기

구글창에 eclipse 다운로드를 검색한다.

 

이클립스 다운로드

 

Eclipse Downloads | The Eclipse Foundation

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

www.eclipse.org

 

 

 

 

 

 

설치 버튼을 누르면 여러가지 설치 내용이 뜨는데 그중에 두번째 것을 선택한다.

 

 

 

설치하는 일이 꽤 오래걸린다. 2주 동안 수업을 들었지만, 그동안 엘리스에서 수업을 듣느라 바빠서 자바는 별로 학습하지 못했다. 설치도 내 PC에 오늘 처음으로 해보는데 할 게 많았다.

 

 

 

경로는 C 드라이버에 들어가서 일일이 찾기 힘드므로 바탕화면에 폴더를 하나 만들어서 이 경로로 선택해주는 것이 좋다.

 

 

3. 이클립스 실행하기

런치를 클릭하면 이 창이 뜨는데 두번째를 클릭한다.

 

 

 

 

왼쪽에는 메뉴가 있고 ▶ 버튼을 클릭하면 실행이 된다. 가운데 화면은 앞으로 코드를 쳐나갈 화면이 된다. 그리고 맨 아래쪽에는 결과값이 뜬다. 창들은 개발자 선호도에 따라 언제든지 바꿀 수 있다.

 

 

 

4. 프로젝트 생성

프로젝트를 생성하기 위해서는 파일이 있어야 하는데, .java나 java.class라는 확장자를 갖고 있다. 프로젝트가 정말 많은데 우리가 필요한 건 java 프로젝트이다.
Create a project를 클릭한다.

 

개발할 때는 한글로 이름을 지으면 별로 좋지 않지만, 지금 기본 프로그램을 만들며 연습할 때는 한글로 해도 괜찮다.

 

 

 

 

 

그런 다음 다시는 열지 않겠다는 선택하고 No를 누른다.

 

 

JRE에는 자바에서 사용할 수 있는 여러가지 필수 기능들이 들어있다. JRE는 JDK를 포함하고 있는데, 여기에는 자바에서 입력, 출력 등의 여러 기능들이 들어있다. 이 라이브러리가 없는 상태에서는 개발을 진행할 수 없다.
항상 프로젝트를 열때 이 라이브러리가 위치해 있는지 확인해야 한다.

src에는 우리가 직접 작성할 파일들이 들어있다. resource 즉 자원 파일이 들어간다. 가장 처음에는 module-info가 들어있다. 별거 없는 프로그램으로 버그가 많으므로 만들어지면 삭제하는 것이 좋다.

 

 

 

 

5. 클래스 생성하기

 

마우스 오른쪽 버튼을 눌러서 클래스를 만들어주는데 이때 src에서 우클릭을 해야 한다.

 

 

 

 

6. 출력문 작성하기

 

 

 

 

 

 

syso 단축키가 먹지 않을 때

 

 

노트북에서는 잘 되었는데 갑자기 실행문 단축키가 먹지 않아서 이걸로 30분 이상 끙끙대며 고민했다. 키보드가 문제인줄 알고 윈도우 설정도 바꾸고 여러 가지 해보다가 마침내 해결책을 찾았다.

이렇게 점만 가능하도록 되어있는 설정을 영문 대문자 소문자 모두 가능하도록 바꾸어주면 된다.

 

참고 사이트

 

 

 

print와 println의 차이점

 

 

 

 

 

 

이클립스에서 맞춤법 검사 기능 끄기

빨간줄이 뜨니 보기 안좋아서 이 기능을 꺼보기로 했다.

 

참고 사이트

 

이클립스(Eclipse) 성능 향상을 위해 Spelling 체크 기능 끄기

이클립스(Eclipse) 성능 향상을 위해 Spelling 체크 기능 끄기 환경: Eclipse Mars 이클립스는 무거운 툴입니다. 그래서 쓰지 않는 기능들은 성능 향상을 위해 끄는 것이 좋습니다. 저번 포스팅에서는 자

mainia.tistory.com

 

ln에 표시되어 있던 빨간줄이 사라져서 정말 기쁘다.


 

 

학습을 마치고

이번 학습은 내용이 참 많았다. 프로그램도 설치하느라 시간이 많이 걸렸고 처음 다루어보는 것들도 있어(수업 시간에는 그냥 뭣도 모르고 따라하기만 했었음) 할 게 많았다. 아침 시간도 훌쩍 지나서 어느새 배가 쫄쫄 고프다.
이제 식사 후에 나머지 3~4교시 내용을 학습해볼 것이다.

학습을 진행하다 단축키가 안 먹기도 하고 맞춤법 검사 기능도 꺼버릴 수 있어서 정말 좋았다. 이렇게 하나씩 배우면서 공부하는 거다. 노트북에서 늘 빨간줄이 떠서 불편했는데 그것도 바꾸어줘야지!

선생님께서는 책에는 간단히 나와있는 내용도 자세히 설명해주셔서 정말 좋았다. 이런 속도로 어느 세월에 4일치 수업을 다 듣나 걱정스럽지만 할 수 있는데까지 열심히 해볼 것이다!