본문 바로가기
  • 문헌정보학도가 개발도 한다구요??
우당탕탕 개발일기/JAVA

JAVA를 배우자(1) - JAVA는 뭐고, Eclipse는 또 뭐야???

by 개발하는사서 2021. 1. 4.

새해가 밝았다. 이맘떄의 인간이란 작년의 자신을 반성하고, 더 나은 미래를 위해 무언가를 계획하기 바쁘다.

그러나 작심삼일이란 말이 있듯이, 연초의 계획이란 오랫동안 실천하기 힘들다. 정말 힘들다.

지금 글을 쓰고 있는 본인 또한 신정때 블로그에 내가 공부한 내용들을 정리하겠다는 계획을 구상해보았으나,  사흘이 지난 지금에서야 부랴부랴 하나 쓰고 있는중이다. 과연 이것은 얼마나 갈지...

요새 자바를 배우고 있는 중이다. 대학의 마지막 학기는 끝났고, 코로나 때문에 취업형편은 저조하다못해 바닥을 치는듯하니, 차라리 이 시간을 활용하여 무언가를 남겨보기로 하였다. 그 중 하나가 블로그에 글을 쓰는 것.

처음에 배운 프로그래밍 언어는 Python이었다. 파이썬이 워낙에 쉽다보니 흥미를 금방 붙여 간단한 프로젝트도 뚝딱 만들어보고 데이터 분석도 해보고 풀코스 요리로 맛을 보았는데, 교수님께서 '넌 프로그래밍에 흥미가 있고, 취업도 IT분야로 가고 싶어하니, JAVA도 한번 배워보는게 어떠냐' 라고 하셔서 지금에 이르게 된 것이다.

Java 로고

JAVA는, 1995년에 제임스 고슬링과 다른 연구원들에 의해 발표되었다. 

JAVA의 초기 목적은 가전제품에 들어갈 소프트웨어를 위해 개발하는 것이었다. 그런데 어찌하다보니 이렇게 대박이 날 줄은 그들도 몰랐을 것이다. 

자바의 특징은 모든 플랫폼에서 하나의 코드로 동일한 결과를 얻을 수 있다는것. 괜히 "Write Once, Run Anywhere" 라는 캐치프레이즈가 붙은게 아니다. 자바가 여러 플랫폼에서 동작할 수 있게 하는 것에는 JVM(Java Virtual Machine)이라는 자바 가상 머신이 있기 때문이다. 물론, 윈도우에서 작동하는 JVM이나 리눅스나 애플 제품에서 작동하는 JVM은 다르기 떄문에 파일을 따로 받아야 하지만, 개발자 입장에서는 엄청 효율적인 개발을 할 수 있게 된 것이다.

자바 언어는 다음 5가지의 핵심 목표를 지니고 있다.

  1. 객체 지향 방법론을 사용해야 한다.
  2. 같은 프로그램(바이트코드)이 여러 운영 체제(마이크로프로세서)에서 실행될 수 있어야 한다.
  3. 컴퓨터 네트워크 접근 기능이 기본으로 탑재되어 있어야 한다.
  4. 원격 코드를 안전하게 실행할 수 있어야 한다.
  5. 다른 객체 지향 언어들의 좋은 부분만 가지고 와서 사용하기 편해야 한다.

 뭐 하튼 그 당시 좋은건 다 짬뽕시켰다~ 하는것 같다.

자바는 JDKJRE가 있는데, JDK(Java Development kit)는 자바 개발에 필요한 모든 도구가 포함 되어 있는것이고, JRE(Java Runtime Environment)는 자바 파일을 실행하기 위해 JVM을 포함해 컴파일 된 자바 API들이 들어있는 모듈 파일이다. JRE의 파일은 JDK의 전부 포함되어 있으며, 즉 개발자가 아닌경우 JRE만 설치해도 지장이 없다~ 는 말씀.

아래는 구성요소들 보여준것. 뭐 그렇다...

Java SE 구성표

 

또, 이런 자바 파일을 좀더 쉽게 편집할수 있게 해주는 IDE(Integrated Development Enviroment)라는 것이 있다. 통합 개발 환경이란 뜻으로, 편집, 컴파일, 디버깅을 한번에 할 수 있는 환경이란 뜻이다. 그리고 자바에선 보통 Eclipse 라는 프로그램을 사용한다.

이클립스 로고

 

쓰다보니 어렵다는걸 느꼈다. 다음에 어떻게 써야할지...

댓글