JAVA = 객체지향?

8.1 C와 C++ 그리고 C#에서 잠깐 JAVA(자바)를 언급했었습니다. C++과 C# 중간에 있었죠. 자바에 대해서 이야기를 해보겠습니다.

자바는 C++과 꽤 비슷합니다. C++ 이후에 개발된 언어이고, 자바 역시 C++과 마찬가지로 객체지향언어 이기 때문이죠.

하지만 아무래도 C++은 C에 추가적인 기능을 더하여 객체지향으로 만든 언어 이기 때문에 완전히 객체지향언어라고 보기는 어려울 수 있습니다.
그와 다르게 자바는 처음 설계될 때 C++ 개발자들이 쉽게 배울 수 있도록, 이식성과 보안, 그리고 개발속도가 빠르도록 설계된 언어이기 때문에 훨씬 더 객체지향에 가까워진 언어라고 볼 수 있습니다.

    C++ : C언어 스타일의 전역 함수, 전역 변수, 클래스가 아닌 객체가 존재
    JAVA : 기본 단위가 class

여기서 class는 앞서 말한 캡슐에 해당됩니다.

절차지향언어인 C 를 기반으로 만들어진 객체지향언어 C++ .
그리고 객체지향언어인 C++ 이후에 만들어진 객체지향언어 JAVA .
당연히 JAVA가 객체지향에 더 가까울 수밖에 없습니다.
이후 만들어진 C#도 JAVA에 대응하여 만들어진 격 이기 때문에 형태를 보면 JAVA와 비슷한 걸 확인할 수 있습니다.