본문 바로가기

JAVA

[JAVA] 자바 언어의 특징

자바 언어의 특징

  1. 단순 Simple
    • C 언어와 C++ 언어의 복잡한 기능을 제외하여 코드를 단순하게 작성할 수 있음
      • C 와 C++ 언어에 비해 작고 간편
      • Garbage Collector 에 의한 자동 메모리 관리로 할당된 메모리 해제를 신경쓰지 않아도 됨
  2. 객체지향 Object-Oriented
    • 객체지향 개념이 적용된 C++ 을 기초로 하여 만들어진 언어
      • 프로그램 개발에 필요한 수많은 클래스 라이브러리들을 API로 제공함
      • 재사용성이 높아짐
  3. 분산 처리 Distributed
    • 분산 환경에서 TCP/IP 등의 프로토콜을 통해 효율적으로 실행할 수 있도록 설계된 언어
      • TCP/IP 네트워크 기능 내장
      • HTTP, FTP 등과 같은 프로토콜을 쉽게 사용할 수 있도록 라이브러리 제공
    • 원격 메서드 호출과 관련된 RMI (Remore Method Invocation) 기능의 라이브러리 제공
  4. 인터프리터 Interpreter 
    • 컴파일 언어임과 동시에 인터프리터 언어
  5. 견고 Robust
    • 다양한 플랫폼 상에서 실행되기 위해 에러의 원인이 되는 요소들을 제거하거나 자동으로 해결
      • 포인터를 사용하지 않음
      • garbage collection
      • 엄격한 데이터 타입의 검사
      • 실행 시간에 발생하는 에러를 처리함
      • → 높은 신뢰성
  6. 안전 Secure
    • 컴파일 시에 엄격하게 데이터 타입을 검사함으로써 프로그램 실행 시 발생할 수 있는 비정상적인 상황을 미리 방지
      • 클래스 로더 (코드 분리)
      • 바이트 코드 검증기 (코드 검증) ex) 코드가 이 컴퓨터에서 왔는지?
  7. 플랫폼 독립 Architecture Neutral
    • 사용하는 운영체제나 CPU 등의 하드웨어 사양에 관계 없이 실행될 수 있음
    • 이식성이 좋다
  8. 높은 성능 High Preformance
    • Garbage Collection 기능으로 자동으로 메모리 관리가 가능하다.
      • 메모리가 할당된 객체의 상태를 추적 관리
      • 더이상 참조되지 않으면 자동으로 할당된 메모리 해제
      • → 불필요한 메모리 낭비 방지
  9. 멀티스레드 Multithread
    • 하나의 CPU가 여러 개의 프로그램을 동시에 수행하도록 한다.
    • 수행 속도를 빠르게 함
  10. 동적 Dynamic
    • 기존의 프로그램에 영향을 주지 않고, 라이브러리에 새로운 메서드나 속성들을 추가할 수 있음
    • 프로그램과 프로그램에서 사용되는 라이브러리와의 연결을 실행시간에 수행함
    • → 라이브러리의 변화를 곧바로 적용할 수 있음

'JAVA' 카테고리의 다른 글

[JPA] n+1 문제  (0) 2022.01.26
[JAVA] java.util 패키지  (0) 2021.07.15