투로드
Coder ToLoad
투로드
전체 방문자
오늘
어제

블로그 메뉴

  • 홈
  • 알고리즘
  • CS
  • GITHUB
  • 태그
  • 분류 전체보기 (69)
    • Toy Project (0)
      • EternalSNS (0)
    • Algorithm (46)
      • BaekJoon (38)
      • Programmers (7)
      • Code Tree (1)
    • Computer Science (13)
      • JAVA (7)
      • DataBase (4)
    • Backend (7)
      • Spring (2)
      • JPA (2)
      • Django (3)
    • Mobile (2)
      • Android (2)
    • Unity (1)

인기 글

최근 글

hELLO · Designed By 정상우.
투로드

Coder ToLoad

JAVA의 장점과 단점
Computer Science/JAVA

JAVA의 장점과 단점

2021. 12. 20. 23:39

자바가 무엇인지 알아보았으니, 이번엔 자바의 장점과 단점이 무엇인지 알아보기로 하자.

장점

 

플랫폼 독립성

  - 하드웨어 또는 운영체제와 같은 플랫폼에 독립적으로 실행 가능한 특성

  - 자바는 Java Virtual Machine(JVM)을 기반으로 동작하기 때문에 자바로 만든 프로그램은 어떤 환경에서도 완벽히 똑같이 동작한다.

 

개발자가 많다

  - 이게 무슨 장점이냐 할 수 있겠지만, 나온지 오래된 언어인 만큼 개발자 커뮤니티가 활성화되어 있어 정보 습득에 유리하다.

 

객체 지향 언어

  - 신뢰성 있는 소프트웨어를 손쉽게 작성 가능하다.

  - 코드 재사용이 유리하다.

  - 객체지향 패러다임의 특성상 비교적 이해하고 배우기 쉽다.

 

오픈 소스

  - 이용자들에 의해 기존 문제가 해결되고 발전하며 운영되기 때문에 발전 속도가 빠르고 정보를 얻기 쉽다.

  - 오픈소스 라이브러리가 풍부해 짧은 시간 내 안정적인 애플리케이션 구현이 가능하다.

 

자동 메모리 관리

  - Garbage Collector 는 객체가 프로그램에서 더 이상 사용되지 않고 명시적 프로그래밍에 의해 역참조 되거나 제거할 필요가 없는 항목을 참조하지 않을 때마다 자동으로 제거해준다.

  - 이로 인해 사용자는 메모리 관리를 신경쓰지않고 비즈니스 로직에 집중할 수 있다.

 


단점

 

실행 속도가 느리다

  - JVM을 거쳐서 실행되기 때문에 다른 언어에 비해 실행 속도가 느리다.

  - 처리 속도가 중요한 애플리케이션에서 적합하지 않다.

 

그 외

  - JVM을 사용하기 때문에 직접 하드웨어를 정밀하게 조정해야 하는 프로그램 개발에는 적합하지 않다.

  - JVM에서 실행되기 때문에 더 많은 메모리를 소비한다.

  - 프로그래머 검사가 필요한 예외가 등장한다면 무조건 프로그래머가 선언해주어야 함.

  - 코드가 다른 언어에 비해 길고 장황해 가독성이 떨어질 수 있다.

저작자표시 (새창열림)

'Computer Science > JAVA' 카테고리의 다른 글

자바 컬렉션 프레임워크(Java Collection Framework) 중 맵(MAP) 정리  (0) 2022.04.18
자바 컬렉션 프레임워크(Java Collection Framework) 중 셋(SET) 정리  (0) 2022.04.15
자바 컬렉션 프레임워크(Java Collection Framework) 중 리스트(List) 정리  (0) 2022.04.13
[JAVA] 객체 지향 프로그래밍(Object Oriented Programing)  (0) 2022.01.11
JAVA 란?  (0) 2021.12.16
    'Computer Science/JAVA' 카테고리의 다른 글
    • 자바 컬렉션 프레임워크(Java Collection Framework) 중 셋(SET) 정리
    • 자바 컬렉션 프레임워크(Java Collection Framework) 중 리스트(List) 정리
    • [JAVA] 객체 지향 프로그래밍(Object Oriented Programing)
    • JAVA 란?
    투로드
    투로드
    훌륭한 프로그래머가 되어가는 과정을 담아보는 중입니다.

    티스토리툴바