Java

[JAVA] 언어소개 & 프로그램 동작

Eunice99 2024. 1. 2. 21:19

신년부터는 자바 공부는 해보기로 다짐했당~! 

생활코딩 자료를 정리?하면서 공부할예정이다! 

내 스타일대로 공부 정리 Start!

 

[JAVA의 역사]

자바는 제임스 고슬링, 그의 동료들에 의해 시작된 프로젝트로 자바의 아버지는 제임스 고슬링이라고 할 수 있다.

사실 JAVA는 가전제품을 제어하기 위한 언어로 고안되었으나, 웹의 등장으로 엄청난 성공을 거두면서 주류 언어가 되었다.

한국에서는 정부나 기업의 시스템 통합 프로젝트가 대부분 자바로 구현되어있고, 기업용 시장에서 두각을 나타내고있다.

 

[JAVA에 대한 자료들]

자바에 대한 각종 자료들이다. 

음 다른 자료들보다 올 한해는 자바의 정석 책을 다 이해하는게 목표다! 

https://docs.oracle.com/en/java/javase/21/

 

JDK 21 Documentation - Home

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

docs.oracle.com

https://wikidocs.net/book/31

 

점프 투 자바

이 책은 프로그래머를 꿈꾸며 자바 입문서를 찾는 사람들을 위한 책이다. 이 책은 자바의 문법을 하나하나 자세히 알기 보단 어렵게 느껴지는 자바를 쉽고 재미있게 이해하는 것을 목표…

wikidocs.net

추가로 자바의 정석 책도 좋을것같다! 난 이미 구매했다! 이번년도 다 2회독 정도 할 것이다.

https://m.yes24.com/Goods/Detail/24259565

 

Java의 정석 - 예스24

최근 7년동안 자바 분야의 베스트 셀러 1위를 지켜온 `자바의 정석`의 최신판. 저자가 카페에서 12년간 직접 독자들에게 답변을 해오면서 초보자가 어려워하는 부분을 잘 파악하고 쓴 책. 뿐만 아

m.yes24.com

 

[자바 프로그램의 동작]

: 자바는 아래와 같은 방식으로 동작한다.

1. 코드를 작성한다.

2. 컴퓨터가 실행할 수 있는 형태로 코드 컴파일한다.

3. 컴파일된 프로그램 실행한다.

[용어 정리]

  • Java SE
    • 자바의 표준
    • 자바라는 언어가 어떠한 문법적인 구성을 가졌는지와 같은 것들을 정의
    • 구체적인 소프트웨어가 아니고, 그 소프트웨어의 설계도라고 할 수 있음 ㅇㅇ
  • JDK
    • JAVA SE의 표준안에 따라서 만들어진 구체적인 소프트웨어
    • JDK를 다운받아서 설치해야함 ㅇㅇ
    • JAVA 프로그램을 실행하면 Java 코드를 컴파일러와 개발에 필요한 각종 도구 그리고 JRE가 포함되어 있음
  • JRE
    • 자바가 실제로 동작하는데 필요한 JVM, 라이브러리, 각종 파일들이 포함
    • 자바로 만들어진 프로그램을 구동하려고 한다면 이것 설치 필요
    • 일반인을 위한 자바 버전 ㅇㅇ
  • JVM
    • 자바가 실제로 구동하는 환경
    • 자바로 만들어진 소프트웨어는 JVM이라는 가상화된 환경에서 구동되고, 하드웨어나 운영체제에 따라서 달라질 수 있는 호환성의 문제는 운영체제 버전에 따라서 만들어진 JVM이 알아서 해결함 ㅇㅇ
    • 즉, 하나의 프로그램을 만들면 어떤 환경에서도 실행할 수 있는 것이 바로 JVM의 역할

 

[JDK의 분류]

Java SE 

- 자바의 핵심으로 일반적으로 자바라고 하면 Java SE를 의미

Java EE

- 기업용 시장에서 사용하는 자바 개발환경

Java Me

- 모바일 개발을 위해서 사용하는 자바 버전

 

[JDK의 실행]

1. 코드

- 프로그램이 어떤 모습이고, 어떻게 동작해야 하는가를 표현한 일종의 설계도 ㅇㅇ

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

 

2. 컴파일

- 코드 자체는 바로 실행 불가 (코드는 사람이 이해할 수 있는 형식으로 되어있기 때문)

- 이 코드를 컴퓨터가 이해할 수 있는 상태로 변환해주는 과정이 compile

- 이 작업을 하는 소프트웨어를 compiler

- 자바의 컴파일러는 javac라는 이름을 가지고 있음

 

ex) 만약 helloworld.java라는 코드를 컴파일한다면, 아래와 같은 식으로 javac를 실행

javac Helloworld.java

 

3. 실행

- 위 명령을 실행하면 같은 디렉터리에 helloworld.class라는 이름의 파일 생성

- 바로 이 파일이 컴파일된 파일이고, 쉽게 말해서 실행파일임 ㅇㅇ

- 그런데 이 파일은 파일 이름만으로 실행 못함

- 컴파일된 파일을 실행시켜주는 프로그램을 이용해야함

- 이 작업을 하는 프로그램을 런처라고 함 ㅇㅇ

- 런처는 아래와 같은 명령어로 실행함

java Helloworld

 

- 런처를 이용해서 확장자가 class인 파일을 실행해야하는데, 런처는 내부적으로 자바 가상 머신에서 내가 만든 코드가 동작하도록 함

- 내가 만든 프로그램은 최종적으로 자바 가상머신이라는 것을 통해서 동작하게 됨

- 아래와 같은 흐름을 통해 자바 프로그램이 만들어지고 실행 ㅇㅇ

 

[참고자료]

아래 생활코딩 영상을 참고하여 작성한 게시글입니다.

https://opentutorials.org/course/1223

 

Java - 생활코딩

본 수업은 2013년에 제작된 수업으로 2019년에 제작된 JAVA1 수업으로 대체 되고 있습니다. 자바로 코딩에 입문하시려고 한다면 JAVA1 수업을 권해드립니다. 수업소개 본 모듈은 자바 언어에 대한 기

opentutorials.org