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