운영체제 및 하드웨어에 독립적이며, 이식성이 강하다(OS위의 JVM 이라는 가상머신 위에서 실행되게 때문에) 분산 네트워크 환경에 적용이 가능하며, 멀티스레드 기능을 제공하므로 여러 작업을 동시에 처리할 수 있다. 캡슐화가 가능하고 재사용성이 높다. 객체지향 언어이다.(개발할 때 객체들을 조립해서 프로그램을 작성할 수 있게 한다) ex) 자동차