프로그래밍 공부/Java

[명품 자바 프로그래밍] 1. 자바 시작

Kim se jun 2020. 1. 6. 10:50

프로그래밍 언어

 

 프로그래밍 언어란 프로그램을 작성하기 위한 언어이다. 컴퓨터는 0과 1로 된 기계어(machine language)밖에 이해하지 못하며, 사람이 직접 기계어로 프로그램을 만들기는 매우 어렵다. 따라서 기계어 명령을 사람이 이해하기 쉽고 표현하기 쉽게 만든 어셈블리어(assembly language)가 만들어 졌다. 하지만 어셈플리어도 사람이 다루기 힘들어 복잡한 알고리즘이나 프로그램구조, 자료구조를 효율적으로 표현할수 있는 고급언어가 생겨났다. 그 중 하나가 Java이다.

 

컴파일

 프로그래밍은 고급 언어를 이용해 전용 개발 도구나 텍스트 편집기로 프로그램 소스 파일을 작성하는 것을 의미한다. 기계어는 컴퓨터가 바로 이해할 수 있지만 C나 Java같은 고급 언어는 컴퓨터가 바로 이해할 수 없으므로, 소스 프로그램을 기계어로 변환하는 과정이 필요한데 이를 컴파일(compile) 이라한다. 기계어로 변환해주는 소프트웨어를 컴파일러(compiler)라고 하며 각 언어마다 고유한 컴파일러가 있다. 컴파일 되어있는 파일의 확장자로 어떤 언어로 작성되었는지 구분할 수 있는데 자바는 .java의 확장자를 가진다.

 

자바 Java

 자바는 1995년 자바의 아버지라 불리는 '제임스 고슬링(James Gosling)'이 동료들과 함께 만든 프로그래밍 언어로 초창기에는 가전제품을 제어하기 위한 언어로 고안되었고, 현재 국내에서 정부 및 기업의 시스템 통합 프로젝트가 대부분 자바를 기반으로 이뤄지고 있다.

 자바의 특징

   - WORA(Write Once Run Anywhere) : 플랫폼에 독립적이다.

   - 객체 지향 언어이다.

 

 JVM(자바 가상 기계)

  자바가 플랫폼에 독립적인 이유. 어떤 환경에 상관없이 jvm만 있다면 자바로 작성된 프로그램에 동일한 실행 환경을 제공하며 동일한 실행결과를 기대할 수 있다. jvm 자체는 각 플랫폼에 맞게 포팅되어야 하므로 플렛폼 종속적이다.

 

API, JDK, JRE

- API : 오라클사에서 제공하는 것으로 주요한 기능들을 미리 구형한 클래스 라이브러로 묶어놓은 패키지들

(https://docs.oracle.com/javase/8/docs/api/)

- JDK(Java Development Kit) : 자바 소프트웨어를 개발하는데 필요한 여러 가지 도구를 모아서 제공하는 것

- JRE(Java Runtime Environmet) : 자바로 만들어진 프로그램을 구동하는 데 필요한 실행환경을 제공

즉, Java를 실행할려면 JRE, 개발을 할려면 JDK를 다운받아야 한다. (JDK 안에 JRE가 포함되어 있으므로 JDK를 다운받으면 JRE를 다운받을 필요가 없다)