본문 바로가기
🐎 언어(Language)/Java

[Java] 자바란?

by inbeom 2023. 8. 20.
728x90
반응형

💡 자바(JAVA)란?

자바는 C언어에 객체 지향적 기능을 추가하여 만든 C++과 달리, 처음부터 객체 지향 언어로 개발된 프로그래밍 언어이다. 자바는 자바 가상 머신(JVM, Java Virtual Machine)을 사용하여 운영체제와 독립적으로 동작할 수 있다.

따라서 자바는 어느 운영체제든 같은 형태로 실행 될 수 있다.

 

💡 자바의 특징

장점

  1. 자바는 객체지향 언어이다.
    • 객체를 만들기 위해서 설계도인 클래스를 작성하고, 객체와 객체를 연결하여 목적에 맞는 프로그램을 만든다.
    • 객체지향 언어의 특징인 캡슐화, 상속성, 다형성을 완벽하게 지원한다.
  2. 이식성이 높다
    • 자바 실행환경이 설치되어 있는 모든 운영체제에서 실행 가능하다.
  3. 하이브리드 언어이다.
    • 컴파일 언어인 동시에 인터프리터 언어이다.
    • 텍스트 소스를 컴파일하여 이진 파일(class)파일로 만든 다음 자바 런타임이 클래스 파일을 인터프리트 하면서 실행한다.
    • 시스템에 무관한 이진 파일을 만듦으로써 자바는 컴파일 언어에 가까운 속도와 시스템 독립성을 얻을 수 있다.
  4. 메모리를 자동으로 관리한다.
    • 개발자가 직접 메모리에 접근할 수 없으면 자바가 직접 메모리를 관리한다.
    • 객체 생성시 자동으로 메모리 영역을 찾아 할당하고, 가비지 콜렉터(Garbage Collector)를 실행시켜 자동으로 사용하지 않는 객체를 제거한다.
    • 개발자는 메모리 관리의 수고를 덜고, 핵심기능 코딩에 집중할 수 있다.
  5. 오픈소스 라이브러리가 풍부하다.
    • 자바는 오픈소스 언어이고 자바 프로그램에서 사용하는 라이브러리 또한 오픈소스의 양이 방대하다.
    • 고급 기능을 구현하는 코드를 작성하는 대신 검증된 오픈소스 라이브러리를 사용하면 애플리케이션을 다시 컴파일 할 필요가 없다.

단점

  1. 자바는 실행을 위해 자바 가상 머신을 거쳐야 하므로, 다른 언어에 비해 실행 속도가 느리다.
  2. 자바는 예외 처리가 잘 되어있지만, 개발자가 일일이 처리를 지정 해줘야 한다는 불편함이 있다.
  3. 자바는 다른 언어에 비해 작성해야 하는 코드의 길이가 긴 편이다.
728x90
반응형

'🐎 언어(Language) > Java' 카테고리의 다른 글

[Java] enum  (0) 2023.08.20
[Java] Stream에 대해 알아보자  (0) 2023.08.20
[Java] Lambda  (0) 2023.08.20
[Java] Interface  (0) 2023.08.20
[Java] 객체 지향  (0) 2023.08.20