What is Java?

    이번 포스팅에서는 Java에 대해서 알아보도록 하겠습니다🙂 근래에 AI 공부 이외에 Java라는 언어에 관심이 생겨 정리해 보았습니다. 아래는 해당 포스팅의 Category입니다.

Category

  1. What is programming language?
  2. Advantage of Java
  3. Reference

What is programming language?

    컴퓨터가 이해할 수 있는 언어와 사람이 사용하는 언어에는 차이가 있습니다. 컴퓨터는 기계어를 통해 소통을 하고 알아듣게 되는데 기계어는 이진 코드라고 볼 수 있으며 0과 1로 이루어진 형태를 띄고 있습니다.

    따라서 컴퓨터는 사람이 사용하는 언어를 이해할 수 없습니다. 이에 사람과 컴퓨터가 대화하기 위해 사람이 사용하는 언어와 컴퓨터가 사용하는 기계어의 다리역할을 하는 것이 programming language입니다.

    이 programming language는 고급언어저급언어로 분류가 되는데 고급언어는 사람이 이해할 수 있는 언어에 가까운 언어를 의미하며 Java가 고급언어에 속하게 됩니다. 고급언어(C, C++, Java등등)으로 작성된 코드가 컴파일러를 통해 기계어로 변환된 이후 컴퓨터는 이를 읽고 실행할 수 있습니다.

Advantage of Java

    Java는 다른 언어와 비교했을 때 많은 장점들을 가지고 있습니다. 그 장점들을 정리하자면 아래와 같습니다.

  1. 이식성이 높다.

        Java는 JRE(Java runtime environment)가 설치되어 있는 모든 운영체제에서 실행가능합니다. 즉, 윈도우 운영체제에서 실행하는 프로그램을 리눅스, 유닉스에서 실행할 수 있다는 말입니다!

  2. 객체 지향 언어이다.

        부품에 해당하는 객체들을 먼저 만들고 이것들을 하나씩 조립 및 연결해나가면서 전체 프로그램을 완성하는 프로그램 개발 기법을 객체지향 프로그래밍(Object Oriented programming)이라고 합니다. Java는 아무리 작은 프로그램이라도 객체를 만들어 사용하며 캡슐화, 상속, 다형성 기능을 완벽하게 지원합니다.

  3. 메모리를 자동으로 관리한다.

        C++에서는 생성된 객체를 제거하기 위해서 개발자가 직접 객체를 삭제하는 코드를 작성해야하지만 자바는 개발자가 직접 메모리에 접근할 수 없도록 설계되어 있습니다. 자바가 메모리를 집직접 관리하기 때문인데요! 객체를 생성할 시 자동적으로 메모리 영역을 찾아 할당하고 사용이 완료되면 garbage collector를 실행시켜 자동적으로 사용하지 않는 객체를 제거시켜줍니다.

  4. 멀티스레드를 쉽게 구현할 수 있다.

        하나의 프로그램이 동시에 여러가지 작업을 처리해야할 경우와 대용량 작업을 빨리 처리하기 위해 서브 작업으로 분리해서 병렬 처리를 하려면 멀티쓰레드 프로그래밍이 필요합니다.

        자바는 스레드 생성 및 제어와 관련된 라이브러리 API를 제공하고 있기 때문에 실행되는 운영체제에 상관없이 멀티 스레드를 쉽게 구현할 수 있습니다.

  5. 동적 로딩을 지원한다.

        Java application은 여러 개의 object가 서로 연결되어 실행되는데 이 object들은 class로부터 생성이 됩니다. 애플리케이션이 실행될 때 모든 object가 생성되는 것이 아니라 object가 필요한 시점에 class를 동적 로딩해서 객체를 생성합니다.

        개발 완료 후 유지 보수가 발생하더라도 해당 클래스만 수정하면 되기 때문에 전체 애플리케이션을 다시 컴파일할 필요가 없어 유지 보수를 쉽고 빠르게 진행 가능하다는 장점이 있습니다.

  6. Open source 언어이다.

        Java는 오픈 소스 언어이기 때문에 자바 프로그램에서 사용하는 라이브러리와 오픈소스가 넘쳐난다고 합니다. 복잡한 기능을 구현하는 코드를 직접 작성할 경우 시간과 노력이 필요하고 안전성을 보장할 수 없지만 검증된 오픈소스 라이브러리를 사용하면 개발 기간을 단축하면서 안전성이 높은 애플리케이션을 쉽게 개발할 수 있습니다.

Summary

  1. 프로그래밍 언어 컴파일러가 컴퓨터가 이해할 수 있는 기계어로 바꿔주어 프로그래밍이 가능합니다.
  2. Java는 JRE를 통해 Java 프로그램을 실행시킬 수 있으며 JRE(JRM)가 존재하기 때문에 운영체제에 상관없이 실행이 가능합니다. 자바를 개발하기 위해선 JDK를 설치하면 됩니다!

    이번 시간에는 Java의 특징과 장점 위주로 정리를 해보았습니다. 다음시간에는 이번 포스팅에서 언급되었던 JRE, JRM이 무엇인지 자세하게 알아보도록 하겠습니다😉 다음에 봐요~!

Reference

  • ‘이것이 자바다’ 책

Written by@[Gunu]
AI, 수학에 관심이 많은 대학생입니다😊

GitHub