Live Today

[Java] Java 장단점 본문

Java

[Java] Java 장단점

ilivetoday 2023. 6. 15. 22:16
반응형

Java 장단점

  • 장점 :
    • 운영체제에 독립적이다.
      : JVM(자바 가상 머신) 위에서 동작하기 때문에
    • 객체지향 언어이다.
      : 객체 지향적으로 프로그래밍하기 위해 여러 언어적 지원을 하고있다. (상속, 추상화, 다형성, 캡슐화)
    • 자동으로 메모리를 관리해준다.
      : Garbage Collector로 인해 별도의 메모리 관리가 필요없으며 비즈니스 로직에 집중할 수 있게 해준다.
    • 오픈소스이다.
      : OpenJDK가 오픈소스이다. OracleJDK는 사용 목적에 따라 유료가 될 수 있다.
      : 많은 Java 개발자가 존재하고 생태계가 잘 구축되어 있다. 오픈소스 라이브러리가 풍부하며 잘 활용하면 짧은 개발 기간 내에 안정적인 애플리케이션을 구축할 수 있다.
    • 멀티스레드를 쉽게 구현할 수 있다.
      : 자바는 스레드 생성 및 제어와 관련된 라이브러리 API를 제공하고 있기 때문에 실행되는 운영체제에 상관없이 멀티스레드를 쉽게 구현할 수 있다.
    • 동적 로딩(Dynamic Loading)을 지원한다.
      : 애플리케이션이 실행될 때 모든 객체가 생성되지 않고, 각 객체가 필요한 시점에 클래스를 동적 로딩해서 생성한다. 또한 유지보수 시, 해당 클래스만 수정하면 되기 때문에 전체 애플리케이션을 다시 컴파일 할 필요가 없기 때문에 유지보수가 쉽고 빠르다.
  • 단점 :
    • 비교적 속도가 느리다.
      : 자바는 JVM에 의해 기계어로 번역되고 실행하는 과정을 거치기 때문에 C나 C++의 컴파일 단계에서 만들어지는 완전한 기계어보다는 속도가 느리다. 하지만 하드웨어의 성능 향상과 바이트 코드를 기계어로 변환해주는 JIT 컴파일러와 같은 기술 적용으로 JVM 기능이 향상되어 속도의 격차가 많이 줄어들었다.
    • 예외처리가 불편하다.
      : 프로그래머 검사가 필요한 예외가 등장하면 무조건 프로그래머가 선언을 해주어야한다.

'Java' 카테고리의 다른 글

[Java] 객체 지향 프로그래밍 (OOP)  (0) 2023.06.12