1. 운영체제에 독립적이다. 자바의 개발 환경과 배포환경이 다를 경우, 프로그램을 다시 컴파일 할 필요 없이 실행가능함을 의미한다. 바로 자바가 JVM(Java Virtual Machine) 위에서 돌아가기 때문인데, JVM에서 별도의 Java Compiler를 통해 사용자의 코드를 Byte 코드로 변환한다. 따라서 자바로 작성된 프로그램은 JVM이 설치되어 있는 운영체제에서 모두 종류와 상관없이 동일하게 동작한다. 2. 객체지향언어 프로그래밍(OOP)이다. 객체지향프로그래밍의 대표적 특징에는 상속, 캡슐화(은닉), 다형성, 추상화가 있다. 이 4가지 특징을 잘 활용하면 코드의 재사용성을 증가시키고 유지보수를 용이하게 만들 수 있다. 3. 자동 메모리 관리 C/C++ 은 메모리에 생성된 객체를 제거하기 ..