1. C++특징과 멀티패러다임

 

특징

 

C++은 ‘사용상의 편이성’보다는 ‘성능’에 좀 더 무게를 두고 있다.

C++은 배우기도 어렵고, 사용 시 주의 사항도 많지만 성능이 우수한 프로그램을 만들 수 있다.

여러 목적에 부합하는 프로그램을 작성할 수 있다.

국제 표준이 존재하기 때문에 프로그램을 어디서든 사용할 수 있다.

이미 작성된 프로그램이 계속되는 언어의 발전에도 변함없이 사용 가능하도록 언어적으로 하위 호환성을 보장하고 있다.

저급언어의 높은 성능 구현과 고급언어의 고수준 패러다임을 동시에 구현할 수 있다.

명령형, 객체지향형, 제네릭형, 함수형, 메타형 프로그래밍 등 다양한 패러다임을 지원한다.

C++의 활용 분야는 분산 시스템, 임베디드 시스템, 시스템 프로그램, 애플리케이션 프로그램, 그래픽 프로그램, 공학계산용 프로그램, 3D 프로그램 등 다양하다.

 

멀티패러다임

 

C++를 객체지향 프로그래밍 언어라고 생각하는 사람이 많지만, 사실은 C언어의 절차지향적인 요소와 템플릿을 강조하는 제너릭 프로그래밍적인 요소를 함께 가지고 있다.
따라서, 여러 가지 패러다임을 지닌 멀티패러다임 프로그래밍 기법이라고 봐야 한다.
이러한 여러 요소를 가지고 있는 이유는 위에서 언급한 ‘성능중심’이 C++의 중심철학이기 때문이다.