0Pricing
C++ Academy icon

C++ Academy

C_PLUS_PLUSSystemsBackendGamesDataAiSecurityBeginnerCloudDatabaseMobileEnterpriseDesktopCryptoNetwork

C++ Programming Academy에서 C++를 배우며 소프트웨어 개발 역량을 향상하세요.

🤖 AI 기반📚 51개 코스👥 100,000명 이상의 학습자⭐ 4.9 평점
코스 개요

C++는 여전히 성능이 필수적인 언어입니다

C++는 운영 체제, 게임 엔진, 컴파일러, 임베디드 펌웨어, 고빈도 거래 시스템을 구동합니다. 메모리와 하드웨어를 직접 제어할 수 있으면서도 스마트 포인터부터 코루틴까지 C++11부터 C++20에 도입된 풍부한 표준 라이브러리와 현대적 언어 기능을 제공합니다. 이 트랙은 첫 변수 선언부터 락프리 동시성 자료 구조와 C++20 코루틴 작성까지 언어 전체를 다룹니다.

배울 내용

문법, 변수, 문자열, I/O 스트림부터 시작하여 제어 흐름, struct, class, 동적 배열로 나아갑니다. C++ 메모리 모델, RAII, const 정확성, 안전한 포인터 사용법, std::optional과 std::variant를 중심으로 핵심 역량을 구축합니다. vector, 연관 컨테이너, unordered_map, std::array, std::span을 포함한 전체 STL 컨테이너와 STL 알고리즘, 반복자, 범위를 다룹니다. 현대 C++ 기능을 집중 학습합니다: 이동 의미론, 우측값 참조, 람다, 함수 객체, std::function, 그리고 C++11, 14, 17, 20의 주요 기능들입니다. 이후 과정에서는 Google Test를 활용한 단위 테스트, sanitizer를 이용한 디버깅, CMake 기반 빌드, 파일 I/O, 네트워킹, 동시성 프리미티브를 다룹니다. 트랙은 고급 템플릿, SFINAE, C++20 Concepts, CRTP, 타입 특성, 락프리 원자 연산, 코루틴으로 마무리됩니다.

학습 경로

51개 과정이 A1부터 C2까지 단계별로 진행됩니다. A1과 A2 기초 과정은 문법, 문자열, I/O, 제어 흐름, struct, 참조, 실용적 미니 프로젝트 패턴을 다룹니다. B1은 가장 큰 블록으로 19개 과정을 통해 메모리 모델, 스마트 포인터, 상속, 연산자 오버로딩, 표준 라이브러리를 깊이 있게 배우며 전문가 수준의 능숙함을 확립합니다. B2는 이동 의미론, 현대 C++ 핵심 기능, STL 알고리즘, 단위 테스트, 디버깅으로 고급 주제로 나아갑니다. 10개의 C1 과정은 동시성, 고급 템플릿과 메타프로그래밍, C++20 Concepts, 성능 엔지니어링, 임베디드 시스템, 상호운용성, API 설계를 다룹니다. 트랙은 C2에서 락프리 및 원자 동시성과 C++20 코루틴으로 마무리됩니다.

작동 방식

각 과정은 내장 코드 편집기에서 실시간 피드백을 받으며 완료하는 짧고 집중된 단원으로 나뉩니다. 막히는 부분이 생기면 AI 튜터가 개념을 설명하고 정답을 그냥 주지 않으면서도 올바른 해결책으로 안내합니다.

학습 시작 →

학습 방식

🎯
인터랙티브 레슨
실시간 피드백을 받으며 직접 코딩 연습하기
🤖
AI 튜터
막힐 때마다 AI 튜터에게 즉시 도움받기
💻
내장 에디터
브라우저에서 바로 코드 작성 & 실행하기
🏆
수료증
과정을 완료하면 수료증 취득하기
커리큘럼

51개 코스

C++ Academy 학습 경로의 모든 코스.

01

C++ 입문

A13개 레슨

C++가 무엇인지, 탄생 후 40년이 지난 지금도 가장 강력하고 널리 사용되는 언어 중 하나인 이유와 일상생활 속 어디에서 작동하는지 알아봅니다.

02

C++ 기초: 구문 및 변수

A14개 레슨PRO

C++ 컴파일러를 설정하고 첫 프로그램을 작성하며 변수, 타입 추론, 기본 연산자를 익힙니다. 모든 C++ 개발자를 위한 출발점입니다.

03

C++에서 문자열 다루기

A14개 레슨PRO

std::string과 C 스타일 char 배열로 텍스트를 조작합니다. 일상적인 문자열 작업에 필요한 파싱, 서식 지정, 변환을 학습합니다.

04

입력 및 출력 스트림

A14개 레슨PRO

iostream을 사용해 입력을 읽고 출력을 깔끔하게 작성합니다. cin, cout, cerr, 서식 지정 도우미, 안전한 입력 검증을 다룹니다.

05

제어 흐름 패턴

A14개 레슨PRO

전문가처럼 분기하고 반복합니다. if-else, switch, for, while, 범위 기반 for, 깔끔한 코드를 위한 현대적인 조기 반환 방식을 학습합니다.

06

구조체와 클래스 입문

A24개 레슨PRO

데이터를 구조체와 클래스로 묶습니다. 생성자, 멤버 초기화 목록, this 포인터를 배웁니다.

07

숫자 및 수학 다루기

A24개 레슨PRO

정수, 부동 소수점 수, cmath 라이브러리로 계산합니다. 난수를 생성하고 오버플로 동작을 이해합니다.

08

벡터 및 동적 배열

A24개 레슨PRO

현대 C++ 컬렉션의 핵심인 std::vector를 익힙니다. std::array 및 원시 C 스타일 배열과 비교합니다.

09

참조 및 참조에 의한 전달

A24개 레슨PRO

포인터보다 안전한 대안인 참조를 이해하고, 참조와 const 참조로 값을 전달하는 규칙을 배웁니다.

10

실전 미니 프로젝트 패턴

A24개 레슨PRO

지금까지 배운 모든 내용을 적용해 계산기, CSV 판독기, 숫자 맞히기 게임, 단어 빈도 세기 프로그램 등 독립적으로 실행되는 미니 프로젝트 네 개를 만듭니다.

11

<random>으로 만드는 난수

A24개 레슨PRO

으로 만드는 난수: 난수 엔진, 분포, 그 밖의 기능을 살펴보세요.

12

C++ 메모리 모델: 스택과 힙 비교

B14개 레슨PRO

C++ 메모리 모델: 스택과 힙 비교: 스택 할당, new/delete를 사용한 힙 할당, 그 밖의 기능을 살펴보세요.

13

RAII와 리소스 관리

B14개 레슨PRO

RAII와 리소스 관리: RAII 원칙, 소멸자와 정리, 그 밖의 기능을 살펴보세요.

14

예외 처리와 noexcept

B14개 레슨PRO

예외 처리와 noexcept: try, catch, throw, 예외 안전성, 그 밖의 기능을 살펴보세요.

15

const 정확성과 constexpr

B14개 레슨PRO

const 정확성과 constexpr: const 변수와 매개변수, const 멤버 함수, 그 밖의 기능을 살펴보세요.

16

포인터 안전하게 다루기

B14개 레슨PRO

원시 포인터를 책임 있게 사용합니다. 포인터 산술, nullptr, 그리고 참조나 스마트 포인터를 대신 사용해야 하는 경우를 배웁니다.

17

열거형, 공용체와 std::variant

B14개 레슨PRO

열거형, 공용체와 std::variant: 범위가 지정된 enum class, 공용체와 그 위험성, 그 밖의 기능을 살펴보세요.

18

std::optional과 std::expected

B14개 레슨PRO

std::optional과 std::expected: optional로 부재 표현하기, optional 값에 접근하기, 그 밖의 기능을 살펴보세요.

19

std::string_view와 효율적인 문자열

B14개 레슨PRO

std::string_view와 효율적인 문자열: string_view가 필요한 이유, 뷰 만들기, 그 밖의 기능을 살펴보세요.

20

std::array와 std::span

B14개 레슨PRO

std::array와 std::span: 고정 크기 std::array, std::span 기초, 그 밖의 기능을 살펴보세요.

21

연관 컨테이너

B14개 레슨PRO

연관 컨테이너: std::map, std::set, 그 밖의 기능을 살펴보세요.

22

unordered_map을 활용한 해싱

B14개 레슨PRO

unordered_map을 활용한 해싱: std::unordered_map, unordered_set, 그 밖의 기능을 살펴보세요.

23

스마트 포인터와 소유권

B14개 레슨PRO

원시 new와 delete를 스마트 포인터로 대체합니다. unique_ptr, shared_ptr, weak_ptr의 소유권 의미를 완전히 익힙니다.

24

상속과 다형성 패턴

B14개 레슨PRO

상속, 가상 함수, 추상 클래스를 사용해 OO 설계를 적용하고, 언제 조합이 더 나은지 알아봅니다.

25

연산자 오버로딩과 사용자 정의 타입

B14개 레슨PRO

사용자 정의 타입이 본래 언어 기능처럼 느껴지도록 만듭니다. 산술, 비교, 스트림 연산자와 C++20의 3방향 비교 연산자를 오버로드합니다.

26

CMake와 패키지 관리로 빌드하기

B14개 레슨PRO

CMake로 이식성과 확장성을 갖춘 C++ 빌드를 설정합니다. vcpkg와 Conan으로 의존성을 관리합니다.

27

fstream을 활용한 파일 입출력

B14개 레슨PRO

fstream을 활용한 파일 입출력: ifstream으로 파일 읽기, ofstream으로 파일 쓰기, 그 밖의 기능을 살펴보세요.

28

시간과 Chrono 라이브러리

B14개 레슨PRO

시간과 Chrono 라이브러리: 기간과 시계, 시간 지점, 그 밖의 기능을 살펴보세요.

29

<regex>를 활용한 정규 표현식

B14개 레슨PRO

를 활용한 정규 표현식: regex 기초, 캡처 그룹, 그 밖의 기능을 살펴보세요.

30

현대 C++ C++11 14 17 20 핵심 내용

B24개 레슨PRO

C++11부터 C++20까지 추가된 가장 영향력 있는 기능을 살펴봅니다. auto, 범위 기반 for, 람다, 구조적 바인딩 등을 다룹니다.

31

이동 의미론과 우값 참조

B24개 레슨PRO

불필요한 복사를 없앱니다. 우값 참조, std::move, std::forward, 이동 생성자를 작성하는 방법을 배웁니다.

32

함수 객체, 람다, std::function

B24개 레슨PRO

현대 C++에서 호출 가능한 객체를 효과적으로 사용합니다. 함수 객체, 람다, 타입 소거형 std::function을 비교합니다.

33

STL 알고리즘 심층 학습

B24개 레슨PRO

풍부한 알고리즘 라이브러리를 사용합니다. 실제 예제와 함께 비수정, 수정, 정렬, 수치 알고리즘을 다룹니다.

34

반복자와 범위

B24개 레슨PRO

반복자 범주를 이해하고, 조합 가능하며 지연 실행되는 C++20 범위 라이브러리를 도입합니다.

35

함수 객체와 std::bind

B24개 레슨PRO

함수 객체와 std::bind: 함수 포인터, std::function, 그 밖의 기능을 살펴보세요.

36

네트워킹과 소켓

B24개 레슨PRO

C++에서 네트워크와 통신합니다. BSD 소켓, epoll을 사용한 비동기 입출력, 깔끔한 비동기 코드를 위한 Boost.Asio를 배웁니다.

37

Google Test를 활용한 단위 테스트

B24개 레슨PRO

Google Test를 활용한 단위 테스트: GTest 설정, 검증문과 매처, 그 밖의 기능을 살펴보세요.

38

디버깅과 검사 도구

B24개 레슨PRO

디버깅과 검사 도구: gdb와 lldb 사용법, AddressSanitizer, 그 밖의 기능을 살펴보세요.

39

동시성 기본 요소

C14개 레슨PRO

코드를 안전하게 병렬 실행합니다. std::thread, std::mutex, 조건 변수, future를 사용하는 std::async를 배웁니다.

40

템플릿 특수화와 SFINAE

C14개 레슨PRO

템플릿 특수화와 SFINAE: 전체 특수화, 부분 특수화, 그 밖의 기능을 살펴보세요.

41

고급 템플릿과 메타프로그래밍

C14개 레슨PRO

템플릿을 능숙하게 사용합니다. 특수화, 가변 인자 템플릿, constexpr 함수, if constexpr를 다룹니다.

42

C++20 개념과 제약 조건

C14개 레슨PRO

장황한 SFINAE를 더 깔끔한 C++20 개념 시스템으로 대체해 템플릿을 제약하는 방법을 배웁니다.

43

성능 엔지니어링과 프로파일링

C14개 레슨PRO

C++ 코드를 빠르게 만듭니다. 캐시를 고려한 배치, 분기 예측, 프로파일링 도구, 마이크로 벤치마킹을 다룹니다.

44

임베디드 및 시스템 프로그래밍을 위한 C++

C14개 레슨PRO

마이크로컨트롤러와 시스템 소프트웨어에 C++를 적용합니다. RTTI 없음, 예외 없음, 실시간 요구 사항 등의 제약을 다룹니다.

45

상호 운용성: 다른 언어와 함께 사용하는 C++

C14개 레슨PRO

C++, C, Python, Rust 등을 연결합니다. extern C, pybind11, FFI, SWIG를 사용해 생태계를 이어 봅니다.

46

C++ API 설계와 라이브러리 작성

C14개 레슨PRO

오래도록 유지되는 라이브러리를 설계합니다. 헤더 전용 패턴, API 버전 관리, ABI 안정성, PIMPL을 다룹니다.

47

프로덕션 환경의 현대 C++

C14개 레슨PRO

신뢰할 수 있는 C++를 배포합니다. 정적 분석, 검사 도구, 퍼징, 지속적 통합으로 코드를 건강하게 유지합니다.

48

CRTP와 정적 다형성

C14개 레슨PRO

CRTP와 정적 다형성: CRTP 관용구, 정적 다형성, 그 밖의 기능을 살펴보세요.

49

형식 특성과 <type_traits>

C14개 레슨PRO

형식 특성과 : 형식 조회, 형식 변환, 그 밖의 기능을 살펴보세요.

50

고급 동시성: 무잠금과 원자 연산

C24개 레슨PRO

원자 연산, 메모리 순서, CAS 루프로 무잠금 자료 구조를 만듭니다. 무잠금 프로그래밍의 위험 요소를 이해합니다.

51

코루틴 C++20

C24개 레슨PRO

C++20 코루틴으로 동기 코드처럼 읽히는 비동기 코드를 작성합니다. 직접 생성기와 작업을 만듭니다.

자주 묻는 질문

자주 묻는 질문

C++ Academy 강의는 무료인가요?

네, C++ Academy 강의를 무료로 시작하고 인터랙티브 레슨을 모두 무료로 완료할 수 있습니다. 선택적 PRO 구독을 통해 고급 AI 도구와 공유 가능한 수료증을 잠금 해제할 수 있습니다.

C_PLUS_PLUS을(를) 배우기 위해 사전 경험이 필요한가요?

아니요. 강의는 기초부터 시작하여 점차 더 심화된 주제로 나아가므로 C_PLUS_PLUS 경험이 없어도 시작할 수 있습니다.

CoddyKit에서 C_PLUS_PLUS은(는) 어떻게 배우나요?

직접 해보면서 배웁니다. 짧은 인터랙티브 레슨은 명확한 설명과 실시간으로 실행되는 실습 코딩 연습을 함께 제공하며, 24시간 AI 튜터가 막힐 때마다 맞춤형 도움을 줍니다.

C++ Academy을(를) 완료하면 수료증을 받나요?

네, PRO 학습자는 시험을 응시하고 C++ Academy 강의의 검증 코드가 포함된 공유 가능한 수료증을 취득할 수 있습니다.

휴대폰에서 C_PLUS_PLUS을(를) 배울 수 있나요?

네, CoddyKit은 웹과 iOS, Android 네이티브 앱으로 이용 가능하므로 어느 기기에서나 C_PLUS_PLUS을(를) 배우고 진행 상황이 모든 기기에서 동기화됩니다.

C++ Academy을(를) 지금 시작하기

AI 기반 강의로 프로그래밍을 배우는 수천 명의 학습자들과 함께하세요.

무료로 시작하기 →모든 강의 보기