본문 바로가기
프로그래밍

[프로그래밍] 객체지향 언어의 특징과 C++ 과 Java 의 차이

by 2KB 2016. 5. 6.


객체지향 언어

코드내의 '변수' 및 '함수'를 하나의 객체로 묶고, 이들을 조합하여 프로그램이 실행되도록 하는 것.

명령과 데이터를 가진 객체들을 조합하여 프로그램을 구성한다.


객체지향 언어의 특징

캡슐화 : 객체의 '필드'(변수) 와 '메소드'(명령) 의 접근 권한을 설정하여 데이터의 보안이 가능.

상속 : 부모클래스의 속성과 메서드를 상속 받는 자식클래스를 만들 수 있다.

         이를 통해 코드의 재사용이 가능하다. (코드의 중복을 줄일 수 있음.)

추상화 : 공통의 속성이나 기능을 묶어 이름을 붙이는 것.

다형성 : 같은 타입의 객체이지만, 각 객체별로 서로 다른 기능을(역할을) 수행 할 수 있는 것.


1. C++

C언어의 확장이라는 개념으로 C++이라 명명.

시스템 프로그래밍에 적합. Java 에게 영향을 줌


2. Java

C++언어로 부터 나와 문법적으로 유사하다.

JVM을 사용하여 플랫폼의 제약으로 부터 비교적 자유롭다.



[ C++과 Java의 차이 ]

C++은 부호없는 연산을 지원하지만, Java는 지원하지 않는다.

C++은 메모리 관리를 명시적으로 해주어야 하지만, Java는 가비지 컬렉터를 이용하여 메모리 관리가 용이하다.

C++은 형변환이 대해 비교적 관대하지만(자동 형변환), Java는 엄격하다(명시적 형변환).

C++은 다중상속이 가능하지만, Java는 다중상속이 불가능하다.(대신 Interface를 통해 구현할 수 있다)

C++은 플랫폼에 종속적(플랫폼에 따라 다시 재 컴파일 하여야함), Java는 JVM을 이용하여 독립적(어느 플랫폼이든 실행 가능)

'프로그래밍' 카테고리의 다른 글

[프로그래밍] 프로그래밍 언어의 종류  (0) 2016.05.06