[Java] 1. 자바 프로그래밍 개요

PYOUNANI·2022년 9월 22일
0

Java

목록 보기
1/14
post-thumbnail

1. 자바 프로그래밍 개요

1-1. 자바 개요

자바는 대표적인 객체지향언어이다. 자바는 다른 언어들과 달리 다른 플랫폼에서도 사용이 가능한 프로그래밍 언어입니다. 왜 만들어졌고 어떻게 작동하는지에 대해 알아보도록 하자.


1-1-1. 자바 개발 목적

기존의 언어들로 작성된 프로그래밍 언어들은 플랫폼 간의 호환성이 없었습니다. 재컴파일하지 않고도 다른 플랫폼에서 사용할 수 있는 프로그래밍 언어가 필요했고 자바를 만들어지게 된 것입니다.

1-1-2. 자바 프로그램의 실행 방식

자바와 같은 플랫폼의 독립적인 프로그램들은 에뮬레이터와 비슷한 가상 기계로 실행하는 방식으로 호환성을 확보합니다. 이때 에뮬레이터라는 것은 다른 프로그램이나 장치를 모방하는 컴퓨터 프로그램이나 전자기기를 의미합니다. 보통 지원되지 않는 하드웨어에서 소프트웨어를 실행하기 위한 목적으로 사용이 된다.

우리는 자바로 소스 코드(.java)를 만듭니다.
자바 어플리케이션은 JMV(자바 가상 기계) 위에서 실행하게 됩니다.
자바 컴파일러는 이 JMV만 알아들을 수 있는 바이트 코드(.class)로 변환합니다.
이 파일은 우리의 컴퓨터인 CPU에서 직접 실행되는 것이 아니라 JVM이 인터프리터 방식으로 실행시킵니다. 프로그램을 실행시키면 JVM은 각 운영체제에 맞게 바이트 코드를 기계어로 변환합니다.
그렇기에 JVM만 설치가 되어 있다면 모든 컴퓨터에서 독립적으로 코드를 작성할 수 있습니다.

과정을 개발과 실행 부분으로 나누어 다시 살펴보면

  • 개발
    여러 소스(.java)로 나누어 개발을 하게 됩니다.
    byte 코드(class)를 하나의 실행 파일로 묶는 링크의 과정이 없습니다. 이 덕분에 자바 프로그램은 적은 메모리를 사용하여 프로그램을 동작시킵니다.
  • 실행
    main() 메서드를 가진 클래스부터 실행을 시작합니다.
    바이트 코드(.class)를 하나의 실행 파일로 묶는 링크과정이 없기에 JVM이 필요할 때마다 바이트 코드를 로딩합니다.

1. 자바 프로그래밍 개요

1-2. 자바 플랫폼


1-2-1. 자바 플랫폼

플랫폼이란 프로그램이 실행되는 하드웨어와 소프트웨어 환경을 의미합니다. 자바 플랫폼은 JRE(혹은 JDK)만 설치하면 됩니다. 이 자바 플랫폼 위에서 자바 프로그램을 실행하게 됩니다.

자바 플랫폼 안에 자바 가상 머신 말고도 자바 API가 있습니다.
자바 API란 JDK에 포함된 클래스 라이브러리입니다. 미리 주요한 기능들을 구현해놓은 라이브러리입니다. 이 API를 이용해서 쉽고 빠르게 프로그램을 개발할 수 있습니다.

1-2-2. 자바 플랫폼의 종류

자바는 여러 개발 환경이 있고 그에 따라 다양한 배포판이 주어집니다.

  • JavaEE
    서버 개발을 위한 환경 : 기업용 배포판
  • JavaSE
    클라이언트 중심의 개발 환경 : 자바 표준 배포판
  • JavaME
    소형 기기를 위한 개발 환경 : 자바 마이크로 배포

1-2-3. 자바 프로그램의 종류

  • 자바 응용 프로그램
    독립적으로 실행될 수 있는 일반 응용 프로그램
  • 자바 애플릿
    웹 서버에서 웹 클라이언트로 전송되어 웹 브라우저 안에서 실행되는 프로그램
  • 자바 서블릿
    웹 서버에서 실행되는 서버용 자바 프로그램
  • JSP
    HTML 안에서 자바코드를 서블릿으로 변환되어 실행되는 프로그램
  • 안드로이드 SDK

1-2-4. 자바 특징

  • 독립적인 플랫폼
  • 객체지향언어
  • 클래스로 캡슐화
  • 가비지 컬렉션
    프로그램 내에서 사용되지 않은 메모리들을 JVM이 알아서 회수한다.
  • 안전하고 프로그램 작성이 쉽다
    엄격한 차입 체킹, 다양하고 강렬한 라이브러리

앞으로는 이러한 자바의 특징에 대해 배워볼 것입니다.

0개의 댓글