WORA
-> Write Once, Run Anywhere
- 1번의 작성으로 어떤 환경에서도 실행 가능하다
- 자바는 특히 언어가 간결하며, 객체지향적이고, Collection과 Garbage Collector를 내포하고 있다.
(자바 이전의 C, C++의 포인터수정, 메모리누수, 수동적 객체제거 등 문제점을 보완)
- 위 그림에서와 같이 자바파일은 컴파일을 거쳐 바이트코드로 변환되고 인터프리터(JIT)을 통해 최적화되므로 구동환경에 구애받지 않는다.
- OS API가 없이도 구동은 가능하지만, 호환성 및 성능 문제가 발생할 수 있다.
API
- API는 외부에서 사용가능한 수많은 함수와 변수로 이루어진다.
- 사용자가 모든 함수를 이해하고 제어하지 않고도 사용할 수 있게 한다.
(함수의 특성 중 은닉화 + 파편화, 집중화)