본문 바로가기

Coding Language/Java기초

[Java 기초] 프로그래밍 언어 와 Java

1. 프로그래밍 언어

컴퓨터가 우리가 알고 있는 언어로 이해하고 바로 동작될 수 있다면 얼마나 편할까?

클래스 밥먹기 {
    정수 밥 = 1
    정수 전기밥솥 = 2
    
    밥 만드는데 드는 비용 = 쌀 + 전기밥솥
}
이렇게 동작만 된다면 굳이 변수명이나 클래스명을 만들 때 고민을 하지 않겠지...

 

컴퓨터는 사람과 다르게 인식할 수 있는 언어는 0과 1로 이루어진 이진 코드로 되어있다.

따라서 사람과 컴퓨터 간 상호작용을 하기 위해선 사람의 언어와 기계어의 징검다리 역할을 시켜주는 게 필요하다.

그것이 바로 프로그래밍 언어.

 

프로그래밍 언어는 고급 언어저급 언어로 구분된다.

  • 고급 언어 : 컴퓨터가 바로 이해할 수 없으므로 컴파일(Compole) 과정을 통해 컴퓨터가 이해할 수 있는 0과 1로 이루어진 기계 어러 변환 후 사용
  • 저급 언어 : 기계어에 가까운 언어로, 어셈블리언어가 대표적이다. 따라서, 사람이 쉽게 이해할 수 없어 배우기도 힘듦.

일반적인 프로그래밍 언어라고 하면 고급 언어를 말하며, 대표적으로 C나 Java가 모두 고급 언어에 속한다.

 

이러한 언어들로 작성된 내용을 Source라고 부르며, 해당 코드는 Compiler를 통해 기계어로 변환된 후 컴퓨터에서 실행된다. 아래와 같은 과정으로 동작되겠다.

2. Java

Java는 고급언어에 속한다고 위에서 설명했다. 그렇다면 Java는 무엇일까?

  • 이식성이 높은 언어 : 이식성이란 서로 다른 실행 환경을 가진 시스템 같이 프로그램을 실행시킬 수 있는 것을 말한다. Java는 운영체제에 종속적이지 않으며 Window, Linux 등 실행 가능하다. Java 언어로 개발된 프로그램은 소스 파일을 다시 수정하지 않아도, 자바 실행 환경 (JRE : Java Runtime Environment)이 설치되어 있는 모든 운영체제에서 실행이 가능하다.
  • 객체 지향 언어 : Java 하면 OOP(Object Oriented Programming)을 쉽게 생각할 것이다. 프로그램을 개발하는 기법으로 부품에 해당하는 객체를 만들고, 이것을 조립 및 연결하면서 개발하는 프로그래밍 기법을 OOP라 한다. 따라서 캡슐화, 상속, 다형성 기능을 완벽하게 지원한다.
  • 함수적 스타일 코딩을 지원 : 최근 들어 많이 부상하고 있는 함수형 스타일 코딩을 Java 또한 제공한다. Lambda Expressions을 Java8부터 지원하기 시작했으며, 각종 함수를 조합하여 코드를 간결하게 작성할 수 있다.
  • 메모리 자동 관리 : C나 C++ 개발을 하다 보면 생성된 객체는 개발자가 직접 제거를 해주는 코드를 작성해야 한다. Java는 이러한 과정 없이 GC(Garbage Collector)가 자동으로 메모리를 관리하며, 객체 생성 시 자동으로 메모리 영역을 할당하고 사용이 완료되면 자동으로 객체를 제거해준다.

Java는 주로 2가지 버전을 사용한다.

  • Java SE (Standard Edition) : Java 프로그램들이 공통적으로 사용하는 JVM(Java Virtual Machine)을 비롯하여 Java 프로그램 개발에 필수적인 도구와 라이브러리 API를 제공한다. Java 개발 및 실행을 위해선 반드시 Java SE 구현체인 JDK(Java Development Kit)을 실행해야한다.
  • Java EE (Enterprise Edition) : 분산 환경에서 서버용 Application을 개발하기 위한 도구 및 라이브러리 API를 제공한다. 주로 회사에서는 EE버전을 사용하여 개발한다. 서버용 Application으로는 Servlet/JSP 및 EJB(Enterprise Java Bean) 등이 있다.
JDK는 프로그램 개발에 필요한 JVM, Java Library API, Complier 등의 개발 도구가 포함되어 있고, JRE에는 프로그램 실행에 필요한 JVM, Java Library API만 포함되어 있다. 따라서 Java프로그램을 개발하는것이 아닌, 실행만시킬 땐 JRE만 설치하면 된다.
- JRE = JVM + Java Common Library
- JDK = JRE + Java Development Kit

 

참고서적 : 이것이 자바다

'Coding Language > Java기초' 카테고리의 다른 글

[Java 기초] 자바 가상 기계 (JVM)  (0) 2021.08.02