Java 객체지향하면 대표적인 언어로 Java, C++, Python, C#, Swift 등 많은 언어를 생각할 것이다. 여기서 내가 공부하는 자바는 처음부터 객체지향 언어로 개발된 프로그래밍 언어로서 C언어에 객체지향 개념은 얹은 C++과는 사뭇 다르다. 이러한 자바는 자바 가상 머신 Java Virtual Machine, JVM을 사용하는데... C++은 자바와 다르게 컴파일된 코드가 특정한 플랫폼에 의존적인데, C++코드는 기계어로 직접 변환되며, 이는 특정 운영체제와 하드웨어 아키텍처에 맞춰져 있어 C++로 작성된 프로그램을 다른 운영체제에서 실행하려면 해당 운영체제에 맞게 다시 컴파일해야 한다. 하지만 자바는 "Write Once, Run Anywhere(WORA)"라는 개념을 지향해 특정 운영..