01. C++를 언어들의 연합체로 바라보는 안목은 필수



C++를 단일 언어로 바라보는 눈을 넓혀, 상관관계가 있는 여러 언어들의 연합체(federation)로 보자.


- C : C++은 C를 기본으로 하고 있다


- 객체 지향 개념의 C++ : 클래스를 쓰는 C에 관한 모든것 (클래스, 캡슐화, 상속, 다형성, 가상함수(동적 바인딩)


- 템플릿 C++


- STL : 템플리 라이브러리, STL의 세계는 컨테이너(container), 반복자(iterator), 알고리즘(algorithm)과 함수객체(function object)가 만수산 드렁칡처럼 얽혀 돌아가는 것을 규약으로 삼고 있으나, 템플릿과 라이브러리는 얼마든지 다른 아이디어를 중심으로 만들어질 수 있습니다. 또한  STL은 나름대로 독특한 사용규약이 있어서, STL을 써서 프로그래밍하려면 그 규약을 따르면 됩니다.




C++는 한 가지 프로그램이 규칙 아래 똘똘 뭉친 통합 언어(unified language)가 아니라 네가지 하위 언어들의 연합체입니다. 각각의 하위 언어가 자신만의 규칙을 갖고 있지요 "하위 언어들로 구성되어 있다" 라는 점을 꼭 새겨 두도록 하세요 일단 이렇게만 하면 C++이해의 관문에 들어서기가 대단히 쉬워질 것입니다.



이것만은 잊지 말자!

*C++를 사용한 효과적인 프로그래밍 규칙은 경우에 따라 달라집니다. 그 경우란, 바로 C++의 어떤 부분을 사용하느냐 입니다.

+ Recent posts