본문 바로가기

언어/Java

[ 자바 / Java ] 특징 및 구성요소

반응형

반응형

자바(Java)는 썬 마이크로시스템즈(Sun Microsystems)가 1995년에 처음 발표한 고수준 프로그래밍 언어입니다. 다음은 자바의 주요 특징과 개요입니다:

1. 자바의 주요 특징:

  1. 객체 지향 언어: 자바는 객체 지향 프로그래밍(OOP) 패러다임을 지원하여 코드의 재사용성과 확장성을 높입니다. 모든 자바 프로그램은 클래스를 중심으로 작성됩니다.
  2. 플랫폼 독립성: "한 번 작성하면, 어디서나 실행 가능(Write Once, Run Anywhere)"이라는 슬로건으로 유명합니다. 자바로 작성된 프로그램은 자바 가상 머신(JVM)을 사용하여 다양한 운영 체제에서 실행될 수 있습니다. 이는 바이트코드라는 중간 형태로 컴파일되기 때문입니다.
  3. 안정성 및 보안성: 자바는 메모리 관리와 접근 제어 기능을 통해 안정성과 보안을 보장합니다. 예를 들어, 자바는 메모리 누수를 방지하기 위해 가비지 컬렉션을 사용합니다.
  4. 풍부한 표준 라이브러리: 자바는 풍부한 표준 라이브러리(표준 API)를 제공하여 네트워킹, 데이터베이스 접속, 그래픽 사용자 인터페이스(GUI), XML 파싱 등을 손쉽게 구현할 수 있게 합니다.
  5. 멀티스레딩 지원: 자바는 멀티스레딩을 기본적으로 지원하여 동시에 여러 작업을 수행할 수 있는 프로그램을 쉽게 작성할 수 있습니다.
  6. 동적 로딩: 자바는 프로그램 실행 중에 필요한 클래스들을 동적으로 로딩할 수 있어 프로그램의 유연성을 높입니다.
  7. 쉬운 학습 난이도: 자바는 기본 구성은 C++에서 가져왔으며 객체지향 개넘은 스몰톡에서 가져왔다. 장점은 살리고 복잡한 부분과 불필요한 부분은 버리면서 배우기 쉬운 언어가 되었다.
  8. 가비지 컬렉션: 프로그래머가 메모리를 관리하지 않아도 몇 가지 기준에 의해서 JVM이 스스로 메모리를 관리한다. C++처럼 명확하기 하지 않을 경우 메모리 누수가 생길 여지가 줄어든다. 다만 이부분 때문에 메모리의 확보와 반환이 너무 자주 일어나면 메모리가 모자랄 수 있다.
  9. 네트워크 지원: 인터넷과 분산환경에서 동작하는 것을 고려해 네트워크 지원 라이브러리가 풍부하다. 

2. 자바의 주요 구성 요소:

  1. JDK (Java Development Kit): 자바 애플리케이션 개발에 필요한 도구들을 포함하고 있습니다. 여기에는 자바 컴파일러, 표준 라이브러리, 자바 런타임 환경(JRE) 등이 포함됩니다.
  2. JRE (Java Runtime Environment): 자바 애플리케이션을 실행하는 데 필요한 환경을 제공합니다. JRE는 JVM과 표준 라이브러리로 구성됩니다.
  3. JVM (Java Virtual Machine): 자바 바이트코드를 실행하는 가상 머신으로, 다양한 운영 체제에서 자바 프로그램이 실행될 수 있도록 해줍니다. JVM은 운영 체제에 종속적이지만, 자바 바이트코드는 플랫폼 독립적입니다.

3. 자바의 사용 예:

  • 웹 애플리케이션: 자바는 JSP, 서블릿과 같은 기술을 통해 웹 애플리케이션 개발에 널리 사용됩니다.
  • 모바일 애플리케이션: 안드로이드 애플리케이션 개발의 기본 언어로 사용됩니다.
  • 엔터프라이즈 솔루션: 자바는 J2EE (Java 2 Platform, Enterprise Edition)를 통해 대규모 엔터프라이즈 시스템 개발에 많이 사용됩니다.
  • 데스크톱 애플리케이션: Swing, JavaFX 등의 GUI 라이브러리를 이용해 데스크톱 애플리케이션을 개발할 수 있습니다.

자바는 그 안정성과 범용성 덕분에 오랜 시간 동안 많은 개발자들에게 사랑받고 있는 언어입니다.

반응형