콘텐츠로 건너뛰기

C++ 튜토리얼 소개

안녕하세요. 꿈꾸는 개발자 하늘고래입니다.

소설처럼 재미있는 C++ 튜토리얼에 방문해주신 여러분, 진심으로 환영합니다.

이번 챕터에서는 본격적인 강의에 앞서 튜토리얼의 목표 및 구성, 개발 환경에 대해 간단하게 알아보도록 하겠습니다.

소설처럼 재미있는 C++ 튜토리얼은 제목 그대로 여러분들이 쉽고 재미있게 학습하는 것을 목표로 하고 있습니다. 이 튜토리얼은 처음 프로그래밍에 입문하는 사람들뿐만 아니라 C++를 사용하여 전문적으로 프로그램을 개발하고 싶은 사람들을 위한 강의입니다.

혹시라도 C 언어와 C++에 대한 기초적인 지식이 없어도 크게 걱정하지 않아도 됩니다. C++ 기본 개념 뿐만 아니라 C++ 프로그래밍에 필요한 전반적인 지식에 대해서 아주 기초적인 부분부터 쉽게 다루고 있어 중도에 포기하지 않고 끝까지 강의를 읽는다면 여러분들이 원하는 좋은 결과를 얻을 수 있을 것입니다.

사실 최근 들어 C++는 예전에 비해 크게 주목받지 못하고 있습니다. 웹과 모바일, 인공지능 플랫폼이 대중화되고, 관련 기술들이 발전하면서 웹과 모바일, 인공지능에서 사용하는 프로그래밍 언어가 좀 더 주목받고 있습니다. 또한 다른 언어에 비해 C++는 여전히 어렵다는 인식이 남아있어 처음 프로그래밍에 입문하는 사람들이 C++보다 좀 더 쉽게 배울 수 있는 프로그래밍 언어를 선택하는 경우가 많이 있습니다.

하지만 최근에 주목받지 못한다고 해서 그 중요도가 낮아진 것은 절대 아닙니다. C++는 여전히 매력적인 프로그래밍 언어이며, 전 세계에서 가장 널리 사용되는 프로그래밍 언어 중 하나입니다. 또한 컴퓨터 구조를 이해하고 프로그래밍 언어의 기초를 배우는 데 있어 가장 적합한 언어입니다.

C 언어와 C++

튜토리얼에 들어가기 전에 이 튜토리얼에서 C 언어와 C++를 어떻게 바라보고 있는지 간략하게 언급하고 지나가겠습니다.

C 언어와 C++는 상당 부분 유사하지만 분명 다른 언어입니다. 하지만 C++에서 C 언어 문법을 지원하고 있고, C++로 개발하는 경우 대부분 알게 모르게 C 언어와 C++를 혼용하고 사용하고 있어 C 언어와 C++를 분리하여 튜토리얼을 작성할 필요가 없다고 생각합니다.

C 언어는 기계어와 가장 근접한 언어로 C 언어를 제대로 사용하기 위해서는 컴퓨터 구조 및 운영체제를 이해하고 있어야 하며, 때로는 시선을 로우 레벨까지 낮춰야 할 필요성이 있습니다. 그리고 C++도 이와 같습니다. 하지만 C++의 모든 분야에서 너무 시야를 아래로 한정 지어 생각할 필요는 없다고 생각합니다. Standard Template Library, Template, Modern C++를 사용하여 개발한다면 코드를 훨씬 간결하게 바꿀 수 있고, 성능적인 부분에 많은 이득을 얻을 수 있습니다.

좀 더 구체적으로 C 언어에서 가장 어려운 부분을 뽑으라고 한다면 포인터를 이야기할 것입니다. 포인터, 즉 무언가를 가리키고 참조한다는 개념을 이해하지 못하고 개발한다면, 반드시 문제가 발생합니다. 초기화 오류, 참조 오류, 메모리 관리, 복사에 따른 비용 및 자원 소모 등 포인터를 사용하면 문제가 발생할 여지가 많다는 것을 부인할 수는 없습니다.

물론 프로그래머가 포인터를 정확하게 이해하고 사용한다면 이러한 오류는 큰 문제가 되지 않고 오히려 다른 언어보다 성능적인 부분에서 좀 더 우위를 점할 수 있습니다. C++도 C 언어를 호환하고 있어 여전히 포인터를 사용하고 이러한 문제를 일으킬 수 있습니다. 하지만 Modern C++에 들어서면서 Smart Pointer와 Move Semantics 등의 개념이 등장했고, 이러한 것을 활용하여 포인터를 사용하면 예전만큼 시간과 노력을 들이지 않아도 포인터를 잘 활용할 수 있습니다. 하지만 여전히 개발자들은 이를 사용하지 않고 어렵다고 생각하는 경우가 많이 있습니다.

이러한 관점에서 튜토리얼은 C++ 중심으로 작성되었으며, 필요한 경우 C언어와 Modern C++뿐만 아니라 로우 레벨 영역까지 심도 있게 다루고 있습니다.

튜토리얼의 구성

C++ 튜토리얼은 국제 표준인 ISO/IEC 14882:2020 Programming languages : C++ 기반으로 각 주제에 맞게 세부적인 내용을 다루고 있습니다. 유사한 주제에 대해서 챕터로 그룹화했으며 챕터 하위에 섹션을 두어 각 주제를 세부적으로 다루고 있습니다.

각 섹션은 소스 코드 및 분석을 포함하여 10분 내외로 읽을 수 있는 분량으로 작성하였습니다. 원하는 시간에 편안하게 튜토리얼을 진행하면 됩니다.

튜토리얼의 목표

소설처럼 재미있는 C++ 튜토리얼의 목표는 제목 그대로 소설처럼 쉽고 재미있게 설명하는 것입니다. 그리고 더 나아가 여러분들이 C++ 프로그래밍을 잘하는 것을 목표로 하고 있습니다.

이 목표를 위해 C++ 기초 지식뿐만 아니라 C 언어, 컴퓨터 구조, 운영체제와 같이 C++ 프로그래밍에 필요한 전반적인 지식을 다루고 있습니다. 따라서 때로는 어렵고 심도 있는 주제가 될 수 있습니다. 만약 특정 섹션의 내용이 어려워 당장 따라 하지 못하더라도 우선 넘어가도 괜찮습니다. 튜토리얼을 다 끝내고 이해하지 못한 부분을 학습한다면 이전보다 훨씬 쉽다는 것을 느낄 수 있을 것입니다. 그리고 끈기를 갖고 반복하여 학습한다면 분명 좋은 성과를 거둘 수 있을 것입니다.

튜토리얼 업데이트

C++ 튜토리얼은 지속해서 업데이트할 예정입니다.

  • 새로운 표준이 나올 경우
  • 다양한 컴파일러 추가
  • 좀 더 쉽게 학습할 수 있는 방향이 존재

개발 환경

소설처럼 재미있는 C++ 튜토리얼은 다음 환경에서 개발 및 작성되었습니다.

  • 운영체제 : Windows 11 x64
  • IDE & 컴파일러 : Microsoft Visual Studio 2022 Community

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다