newclass 2025. 3. 27. 23:02

1: C++ 소개

 

1.1 C++의 역사와 중요성

C++는 1979년 Bjarne Stroustrup에 의해 개발되었으며, C 언어에 객체 지향 프로그래밍 기능을 추가하기 위해 설계되었습니다. 처음에는 "C with Classes"라고 불렸으나, 1983년에 "C++"로 이름이 변경되었습니다. C++라는 이름은 C 언어에서 증가 연산자(++)를 사용한 것으로, C에서 한 단계 발전했다는 의미를 담고 있습니다.

C++의 주요 발전 단계:

  • 1998년: 첫 번째 ISO 표준 (C++98)
  • 2003년: 기술적 수정 (C++03)
  • 2011년: 주요 업데이트 (C++11) - 현대적 C++의 시작
  • 2014년: 개선 (C++14)
  • 2017년: 추가 기능 (C++17)
  • 2020년: 최신 표준 (C++20)

 

1.2 C++를 사용하는 이유

C++는 다음과 같은 장점을 가지고 있어 여러 분야에서 널리 사용됩니다:

  1. 성능: 하드웨어에 가까운 수준의 제어가 가능하여 매우 빠른 실행 속도를 제공합니다.
  2. 다양성: 절차적, 객체 지향적, 함수형, 제네릭 프로그래밍 등 여러 프로그래밍 패러다임을 지원합니다.
  3. 이식성: 다양한 플랫폼과 운영체제에서 사용할 수 있습니다.
  4. 컴파일 언어: 소스 코드가 기계어로 직접 변환되어 실행되므로 빠른 성능을 제공합니다.
  5. 리소스 관리: 메모리와 시스템 리소스를 세밀하게 제어할 수 있습니다.

 

1.3 C++의 주요 응용 분야

C++는 다음과 같은 다양한 분야에서 사용됩니다:

  • 시스템 소프트웨어: 운영체제, 컴파일러, 데이터베이스 등
  • 게임 개발: 고성능 게임 엔진 및 AAA 게임
  • 임베디드 시스템: 하드웨어 제어 소프트웨어
  • 과학 계산: 시뮬레이션, 데이터 분석
  • 금융 애플리케이션: 고주파 거래 시스템
  • 그래픽 소프트웨어: 이미지 편집 프로그램, CAD 도구

 

1.4 개발 환경 설정

C++ 프로그래밍을 시작하기 위해 다음과 같은 도구들이 필요합니다:

1.4.1 컴파일러 설치

주요 C++ 컴파일러:

  • Windows: Visual C++ (Visual Studio), MinGW (GCC), Clang
  • macOS: Clang (Xcode와 함께 제공), GCC
  • Linux: GCC, Clang

1.4.2 통합 개발 환경(IDE)

초보자에게 권장되는 IDE:

  • Visual Studio: Windows에서 가장 많이 사용되는 IDE
  • Visual Studio Code: 경량화된 크로스 플랫폼 IDE, 확장 기능을 통해 C++ 지원
  • CLion: JetBrains에서 개발한 크로스 플랫폼 IDE
  • Code::Blocks: 초보자에게 친숙한 무료 크로스 플랫폼 IDE

1.4.3 첫 번째 C++ 프로그램 작성 및 컴파일

hello.cpp 파일 생성:

#include <iostream>

int main() {
    std::cout << "Hello, C++ World!" << std::endl;
    return 0;
}

명령줄에서 컴파일 및 실행:

# GCC 사용
g++ hello.cpp -o hello
./hello

# Visual C++ 사용
cl hello.cpp
hello.exe

 

1.5. C++의 기본 구조 이해하기

위 예제 코드를 통해 C++ 프로그램의 기본 구조를 살펴보겠습니다:

#include <iostream>  // 헤더 파일 포함

// main 함수: 프로그램의 시작점
int main() {
    // 표준 출력에 문자열 출력
    std::cout << "Hello, C++ World!" << std::endl;
    
    // 프로그램 종료 코드 반환 (0은 정상 종료)
    return 0;
}
  • #include <iostream>: 입출력 기능을 제공하는 헤더 파일을 포함합니다.
  • int main(): 모든 C++ 프로그램의 시작점입니다. int는 main 함수가 정수를 반환함을 의미합니다.
  • std::cout: 표준 출력 스트림으로, 콘솔에 텍스트를 출력합니다.
  • <<: 출력 연산자로, 오른쪽의 데이터를 왼쪽의 스트림으로 전송합니다.
  • std::endl: 개행 문자를 출력하고 출력 스트림을 비웁니다.
  • return 0: main 함수가 정상적으로 종료되었음을 운영체제에 알립니다.