Joshbla 2023. 1. 5. 12:06

JAVA


JAVA란

JAVA는 웹 애플리케이션 코딩에 널리 사용되는 프로그래밍 언어이다.

C언어와는 달리 처음부터 객체지향언어로 개발된 언어이며 운영체제에 독립적으로 사용가능하다.

이런 점 때문에 전세계에서 가장 많이 사용되는 프로그래밍 언어 중 하나이다.(2022 하반기 기준 전세계 3위)


JAVA 특징

  1. 운영체제에 독립적
  2. 객체 지향 언어(Object Oriented Programming, OOP)
  3. 함수형 프로그래밍 지원
  4. 자동 메모리 관리(Garbage Collection)

1. 운영체제에 독립적

JAVA는 가장 큰 특징은 플랫폼에 독립적인 언어라는 점이다.

자바 이전에는 특정 OS에 따라 다르게 작성해야하는 언어들이 대부분이었다.

이런 언어들과는 달리 자바는 JRE(Java Runtime Environment : JVM(자바 가상머신)+표준 클래스 라이브러리)가 설치되어있다면 모든 운영체제에서 문제없이 실행이 가능하도록 설계되었다.

 

2. 객체 지향 언어

자바는 객체지향 프로그래밍 언어이다. 

하나의 프로그램을 만들 때 각각의 기능을 객체라고하는 부품으로 생각하고 

모두 조립하여 프로그램을 완성시키는 것이다.

이렇게 설계하게 되면 문제가 발생하거나 새로운 기능을 추가할 때

해당 부품만 수정하면 되기 때문에 유지보수가 편리해진다.

 

3. 함수형 프로그래밍 지원

람다식과 스트림같은 문법을 지원해서 매핑, 집계가 쉬워지고 코드가 간결해진다.

 

4. 자동 메모리 관리

자바는 메모리관리를 개발자가 직접 하는 것이 아니라 자바가 관리한다.

객체를 생성할 때는 자동으로 메모리 영역을 찾아서 할당하고

가비지 컬렉터(Garbage Collector)가 자동으로 사용하지 않는 메모리를 찾아 제거한다.

이를 통해 개발자는 메모리관리에 신경을 덜 쓰고 코딩에 집중할 수 있다.


JVM과 JDK

JVM(Java Virtual Machine)

자바는 다음과 같은 과정을 거쳐 실행된다.

1. 개발자가 Java언어로 코딩을하여 작성한다.

2. 컴파일러(Compiler)가 이를 바이트 코드로 변환한다.

3. 바이트 코드(Byte Code)는 JVM을 거쳐 각 운영체제에 맞게 실행된다.

 

JVM은 Java Virtual Machine의 약자로 바이트 코드(Byte Code)를

다양한 운영체제에서 실행할 수 있게 각 운영체제에서 정한 규칙을 따라서 변환해준다.

더보기

컴파일(Compile): 사람이 작성한 프로그래밍언어를 컴퓨터가 이해할 수 있는 기계어로 번역하는 과정

JDK(Java Development Kit)

위에서 설명한 JVM을 설치하기 위해선 JRE(Java Runtime Environment)를 설치하면 된다.

JRE: JVM + 표준 클래스 라이브러리

단순 자바 프로그램을 실행만 할거라면 JRE만 설치하면 되지만

개발을 할거라면 JDK(Java Development Kit)를 설치해줘야한다.

JDK: JRE + 개발에 필요한 도구

 

JDK에는 다양한 버전이 있는데 필요한 기능, 안정성 등을 고려하여 적절한 버전을 선택하면된다.