
객체지향 개념의 특징인 상속, 캡슐화, 다형성이 적용된 순수한 객체지향언어
가비지 컬렉터가 자동적으로 메모리를 관리해줌
멀티쓰레드 프로그램은 시스템과 상관없이 구현이 가능하며, 관련 라이브러리가 제공되므로 구현이 쉬움
다양한 라이브러리(Java API)를 지원하여 네트워크 관련 프로그램 개발을 지원
JVM이 운영체제마다 이해할 수 있는 형태로 변환하여 전달하기 때문에 자바로 작성한 코드는 운영체제와 하드웨어에 종속되지 않고 실행
실행 시 모든 클래스가 로딩되지 않고 필요한 시점에 클래스를 로딩하여 사용
자바 프로그램이 실행되는 가상 컴퓨터(Virtual Machine)
한번 작성하면, 어디서든 실행(Write once, run anywhere)
