본문 바로가기
C++

C++ 소개

by Oz Driver 2025. 12. 11.

C++ 는 오래된 언어지만, 지금도 여전히 다양한 분야에서 사용되고 있는 프로그래밍 언어입니다.

이 글에서는 C 언어에서 출발해 C++이 어떻게 탄생했고, 어떤 과정을 거쳐 현재 버전까지 발전해 왔는지 대략적으로나마 정리해 보았습니다.

 

1. C 언어

C 언어는 빠른 언어입니다.
반면, 개발자가 직접 관리해야 할 것들이 많고, 프로그램의 규모가 커질수록 C 만으로는 감당하기 어려운 한계가 있습니다.

 

2. C++ 탄생

이런 배경에서 C++은 1980년대 초, C 언어를 기반으로 성능은 그대로 유지하면서 객체 개념을 도입하고 클래스와 상속 개념을 추가한 언어로 등장했습니다. 대형 소프트웨어 개발을 염두에 두고 설계된 언어입니다.

 

3. C++98 표준

1998년에는 C++의 첫 공식 표준인 C++98이 발표되었습니다.
그 전까지는 명확한 표준이 없어 개발자들이 혼란을 겪었고, 이 시점을 기준으로 std 네임스페이스와 함께 iostream, string STL (vector, map, algorithm 등 ) 과 같은 기본 라이브러리들이 공식 표준으로 확정되었습니다.

이때 C++의 기본 틀이 완성되었다고 볼 수 있습니다. 다만 당시 도입된 표준들은 실무에서 그대로 믿고 쓰기에는 다소 불안한 부분이 있었고, 이 때문에 많은 개발자들이 STL 대신 외부 라이브러리나 자체 구현을 사용하는 경우도 적지 않았습니다. 저 역시 그 시절에는 표준 라이브러리 대신 외부 라이브러리를 연결해서 사용했던 기억이 있습니다.

 

4. C++11 (Modern C++)

이후 2011년, C++은 대규모 언어 개편을 맞이하게 됩니다.
C++11에서는 auto, move semantics ( 소유권 이전 기반의 성능 최적화 ), 스마트 포인터의 표준화 등 언어 전반에 걸친 큰 변화가 이루어졌고, 이 시점을 기준으로 RAII(Resource Acquisition Is Initialization)가 자원 관리 방식의 표준적인 관행으로 본격적으로 정착하게 됩니다. 객체가 생성될 때 자원을 확보하고, 객체가 파괴될 때 자원을 해제하는 방식이 언어 차원에서 자연스럽게 표현 가능해졌고, 성능과 안정성 면에서도 큰 개선이 이루어졌습니다.
이로 인해 기존에 표준으로 발표되었던 라이브러리와 문법들 역시 실제 사용에 적합한 수준으로 정비되었고, 이 시점부터 Modern C++ 이라는 표현이 사용되기 시작했습니다. 대규모 개편을 이룬만큼 이전 버전들과 큰 차이를 보였기 때문에 "이제는 충분 쓸만해졌다" 라는 의미로 Modern 이라는 단어가 붙었다고 볼 수 있습니다.

( Modern C++ 에 대해서는 내용이 방대하고 깊은 이해가 필요하기 때문에 추후 자세히 다뤄볼 예정입니다. )

 

5. C++23 (최근)

현재 (2026년) 기준으로 최신 표준은 C++23입니다.
C++11 이후 지금까지, C++은 지속적인 개선을 통해 성능, 안정성, 플랫폼 호환성 측면에서 신뢰할 수 있는 수준의 언어로 계속 발전해 왔습니다.

 

참고 사항

C++ 뒤에 숫자를 붙인건 발표된 버전일 뿐, 모두 우리가 C++ 이라고 부르는 그것입니다. 단지, 흐름을 설명드리기 위해 숫자를 붙인 것이고 실제로는 저렇게 부르지 않으니, 헷갈리지 마시기 바랍니다.