C++ 배우기 - 코딩 강좌 앱 아이콘

C++ 배우기 - 코딩 강좌

교육 · 무료 · iOS & Android · CoddyKit

C++ 배우기 - 코딩 강좌 — 휴대폰에서 C++ 코드를 작성하고 컴파일하고 실행해요

C++ 배우기 - 코딩 강좌는 초보자, 컴퓨터 과학 학생, 그리고 직접 코드를 작성하며 C++를 배우고 싶은 개발자를 위한 무료 iOS 및 Android 앱이에요. 내장 편집기는 코드를 실제 GCC 컴파일러로 보내 출력과 종료 코드를 보여 주고, AI Mentor는 컴파일러 오류를 쉬운 말로 풀어 줘요. 51개 과정과 200개 이상의 짧은 레슨을 통해 첫 cout부터 클래스, STL, move semantics, C++20까지 배울 수 있어요.

App Store — 무료로 다운로드Google Play — 무료로 다운로드
가격
무료, Pro 업그레이드
플랫폼
iOS 및 Android
언어
22
연령 등급
4+
필요 사항
iOS 15.1 이상
App Store
4.9 ★ (7)
아랍어 인터페이스로 표시된 C++ 앱의 홈 화면으로, 첫 레슨 시작 버튼, 일일 목표, World Coding Challenge 카운트다운, Ask Mentor 및 Generate your lesson 바로가기가 보여요.아랍어 인터페이스의 Challenge 탭에서 World Coding Challenge, 현재 수강 중인 C++ 과정의 챌린지, 코드로 참여하는 옵션을 보여 주는 화면
51과정 및 200개 이상의 레슨
GCC편집기에 내장된 실제 컴파일러
3/일매일 실천하는 3가지 학습 습관
포인터도 12번째 레슨까지만 지나면 무섭지 않아요.

C++는 배우기 어렵다는 평판이 있지만, 그 이유 중 상당 부분은 소유권, 힙, 템플릿, STL을 첫날부터 한꺼번에 보여 주기 때문이에요. 51개의 짧은 과정으로 나누면 같은 내용도 한 단계씩 익힐 수 있고, 모든 개념은 직접 코드를 컴파일하고 실행해 보는 것으로 마무리돼요.

어떤 앱인가요

C++ 배우기 - 코딩 강좌는 첫 cout부터 클래스, STL, move semantics, 최신 C++20까지 가르치는 무료 iOS 및 Android 앱이에요. 5개 트랙(기초, 메모리, 객체, STL, 실제 프로그램 만들기)으로 구성된 51개 과정과 200개 이상의 짧은 레슨, 실제 GCC 컴파일러에서 컴파일하는 편집기, 20개의 가이드 프로젝트, 60개의 코딩 미션, 그리고 오류 번역 기능을 갖춘 AI Mentor가 포함되어 있어요.

앱 내부 살펴보기

화면은 어떻게 보이나요

아랍어 인터페이스로 표시된 C++ 앱의 홈 화면으로, 첫 레슨 시작 버튼, 일일 목표, World Coding Challenge 카운트다운, Ask Mentor 및 Generate your lesson 바로가기가 보여요.
홈홈 화면에는 시작 버튼이 있는 과정 카드, 일일 목표, 다음 World Coding Challenge 라운드까지의 카운트다운이 표시되고, AI Mentor와 레슨 생성으로 이동하는 바로가기도 제공돼요. 스크린샷에는 아랍어 인터페이스가 사용됐어요.
아랍어 인터페이스의 Challenge 탭에서 World Coding Challenge, 현재 수강 중인 C++ 과정의 챌린지, 코드로 참여하는 옵션을 보여 주는 화면
Challenge 탭Challenge 탭에서는 World Coding Challenge를 열고, 현재 수강 중인 C++ 과정에서 매치를 시작하거나 다른 챌린지를 둘러보고 코드로 참여할 수 있습니다.
아랍어 인터페이스의 프로필 화면으로, 연속 학습 일수 카운터, 90일 활동 히트맵, 다양한 성취 배지 그리드를 보여 주는 화면
연속 학습 기록과 배지프로필에서는 매일 이어 온 학습 기록, 90일 활동 히트맵, 성취 배지를 확인할 수 있어 짧은 학습 세션을 꾸준히 이어 가는 데 도움이 됩니다.
AI chat screen asking How can I help you, with suggested prompts to explain the key concepts, give tips, quiz you and create a learning roadmap
AI chatThe AI chat answers questions and starts from suggestions: explain the key concepts, share tips, quiz you or build a learning roadmap.
Learn C++ home screen with the C++ Academy course card, Start First Lesson, a daily goal ring, a Feature Request row and the Skill Hub
HomeThe home screen up close: the C++ Academy course card with Start First Lesson, a daily goal ring, a Feature Request row and the Skill Hub.

강좌

C++ 과정에서 배우는 내용

앱 자체 커리큘럼으로 구성된 51개 과정에서 처음 컴파일하는 프로그램부터 lock-free 동시성 및 코루틴까지 배웁니다.

  1. 문법, 문자열 및 제어 흐름

    컴파일러를 설정하고 첫 프로그램을 실행하는 방법부터 변수와 타입 추론, std::string과 C 스타일 char 배열의 차이, 입력 및 출력 스트림, 이후 모든 과정에서 전제로 삼는 제어 흐름 패턴까지 다룹니다.

  2. 구조체, 벡터 및 미니 프로젝트

    구조체와 클래스의 기초, 숫자와 수학 다루기, 벡터와 동적 배열, 참조에 의한 전달을 배우고, 이러한 요소를 함께 활용하는 작고 실용적인 프로젝트를 진행합니다.

  3. 메모리, RAII 및 raw pointer를 대신하는 더 안전한 방법

    스택과 힙의 메모리 모델, RAII와 리소스 관리, 예외 처리와 noexcept, const 정확성, 포인터를 안전하게 사용하는 방법, 수동 new와 delete를 대신하는 현대적인 방법인 스마트 포인터를 다룹니다.

  4. 현대적인 타입, 컨테이너 및 객체 지향 설계

    enum, union과 std::variant, std::optional과 std::expected, std::string_view와 std::span, 연관 컨테이너와 unordered_map 해싱, 상속과 다형성, 사용자 정의 타입을 위한 연산자 오버로딩을 배웁니다.

  5. 빌드 도구, 파일 I/O 및 표준 라이브러리

    CMake를 사용한 빌드와 패키지 관리, fstream을 활용한 파일 I/O, 시간 처리를 위한 chrono 라이브러리, regex 헤더를 사용한 패턴 매칭까지, 코드를 파일 시스템 및 시계와 연결하는 C++의 요소를 다룹니다.

  6. STL과 최신 C++11부터 C++20

    C++11부터 C++20까지 달라진 점을 살펴보고, 이동 의미론과 rvalue 참조, 람다와 std::function, STL 알고리즘, 반복자와 ranges, sanitizer를 활용한 디버깅을 배웁니다.

  7. 템플릿, 성능 및 시스템 프로그래밍

    동시성 기본 요소, 템플릿 특수화와 SFINAE, 고급 템플릿과 메타프로그래밍, C++20 concepts, 성능 프로파일링, 라이브러리의 public API 설계를 다룹니다.

  8. 고급 동시성과 코루틴

    mutex가 너무 느린 경우를 위한 lock-free 프로그래밍과 atomic, 그리고 언어에 가장 최근에 추가된 기능인 C++20 코루틴을 배웁니다. 앞의 모든 내용이 선수 지식이므로 마지막에 학습합니다.

어떻게 작동하나요

C++ 학습 세션은 이렇게 진행돼요

각 세션은 실행해 보는 코드가 포함된 짧은 레슨과, 문법을 익숙하게 유지해 주는 몇 가지 일일 연습으로 구성돼요.

  1. 짧은 레슨 하나 읽기

    과정을 열고 struct, reference, smart pointer 같은 하나의 개념을 다루는 레슨을 하나만 수강해 보세요. 첫 번째 과정은 무료이므로, 결정하기 전에 레슨이 어떤 느낌인지 확인할 수 있어요.

  2. 작성하고, 컴파일하고, 실행하기

    모바일 편집기에 코드를 입력하고 실행해 보세요. 실제 GCC 컴파일러가 코드를 빌드하고 출력과 종료 코드를 반환해요. cin에서 입력을 읽는 프로그램에는 입력을 입력할 공간도 제공돼요. 컴파일러가 원격으로 실행되므로 코드를 실행하려면 연결이 필요해요.

  3. 일일 연습과 AI Mentor로 실력을 날카롭게 유지해요

    짧은 프로그램 5개의 출력을 예측하고, 일일 버그 찾기에서 망가진 프로그램 하나를 수정하거나, 60초 Syntax Sprint를 플레이해 보세요. 오류를 이해하기 어렵다면 AI Mentor에 붙여 넣어 한 문장으로 설명받고, 수정해야 할 줄도 확인할 수 있어요.

무엇이 들어 있나요

앱에 포함된 기능

51

과정 및 200개 이상의 레슨

과정 맵은 과정을 5개 트랙(기초, 메모리, 객체, STL, 실제 프로그램 만들기)으로 묶어 보여 줘요. 변수와 스트림부터 포인터, RAII, 템플릿, CMake, 동시성, 코루틴까지 다양한 주제를 다뤄요.

GCC

편집기에 내장된 실제 컴파일러

코드는 시뮬레이터가 아니라 실제 GCC 컴파일러로 빌드돼요. 출력과 종료 코드를 확인하고, cin에서 입력을 읽는 프로그램에 입력을 제공하고, 한 번의 탭으로 다시 실행할 수 있어요. 실행한 모든 프로그램은 저장돼요.

3/일

매일 실천하는 3가지 학습 습관

출력 예측(하루에 짧은 프로그램 5개를 풀고, 컴파일러가 결과를 확정하기 전에 답하기), 무료 힌트가 제공되는 일일 버그 찾기, 한 번의 탭으로 푸는 60초 Syntax Sprint 문제예요.

20

가이드 프로젝트

재고 관리, 은행 계좌, 다형성을 활용한 도형, 템플릿 스택, RPN 계산기, 연결 리스트, 상태 머신 같은 실제 프로그램을 단계별로 만들어 보세요.

AI

AI Mentor 및 오류 번역기

포인터에서 막혔거나 템플릿 오류가 잔뜩 나타났나요? 오류를 붙여 넣으면 한 문장으로 설명받을 수 있고, AI Mentor에게 쉬운 말로 무엇이든 물어볼 수도 있어요.

60

미션 및 월드 챌린지

쉬운 문제부터 어려운 문제까지 60개의 코딩 미션, 매일 새롭게 제공되는 코딩 문제, 그리고 리더보드가 있는 World Coding Challenge의 일일 3회 글로벌 라이브 라운드가 제공돼요. 여기에 연속 학습 기록, XP, 알림도 포함돼요.

배경

왜 C++는 여전히 느려서는 안 되는 소프트웨어를 실행할까요?

C++는 기계어로 바로 컴파일되고 프로그래머에게 메모리를 직접 제어할 수 있는 권한을 주기 때문에, 코드와 하드웨어 사이에 아무것도 끼어들지 않아요. 그래서 더 높은 수준의 언어가 등장한 지 수십 년이 지난 지금도 Unreal 같은 게임 엔진, 고빈도 거래 시스템, 로보틱스 펌웨어, 그리고 많은 운영 체제 구성 요소가 C++로 작성돼요. 바로 이 제어력이 처음에는 어렵게 느껴지는 이유이기도 해요. C++ 프로그램은 값이 어디에 저장되는지, 그리고 메모리를 해제할 책임이 누구에게 있는지를 명시해야 하지만, Python이나 JavaScript에서는 이런 작업을 보이지 않게 처리해요.

스택과 힙메모리 모델

스택 메모리는 함수가 반환되는 순간 자동으로 해제되지만, 힙 메모리는 무언가가 명시적으로 해제할 때까지 남아 있어요. 초보자가 자주 겪는 댕글링 포인터, 메모리 누수, 해제된 메모리에 접근해 발생하는 충돌 같은 많은 버그는 이 둘을 혼동하는 데서 시작돼요.

RAIIC++만의 안전장치

Resource Acquisition Is Initialization은 리소스의 수명을 객체의 생성자와 소멸자에 연결하므로, 객체가 스코프를 벗어나면 리소스가 자동으로 해제돼요. 스마트 포인터는 메모리에 RAII를 적용한 것이며, 이 관용구 덕분에 현대적인 C++는 이를 대체한 raw-pointer 코드보다 훨씬 안전해요.

STL언어를 뒷받침하는 도구 모음

Standard Template Library에는 vector, map, unordered_map 같은 컨테이너와 정렬, 검색, 변환을 이미 구현한 반복자 및 알고리즘이 포함되어 있어요. 직접 연결 리스트를 만드는 대신 STL을 사용하는 순간, C++는 수작업처럼 느껴지는 단계에서 벗어나요.

템플릿어떤 타입에도 작동하는 코드

템플릿을 사용하면 컴파일러가 컴파일 시점에 확인할 수 있는 모든 타입에서 하나의 함수나 클래스를 작동시킬 수 있고, 런타임 비용도 발생하지 않아요. STL 자체의 기반이 되는 메커니즘이며, C++ 라이브러리가 범용적이면서도 빠를 수 있는 이유이기도 해요.

나에게 잘 맞는지

누구에게 적합하고, 누구에게는 적합하지 않은지

다음과 같은 분께 잘 맞아요

  • C++의 까다로운 부분인 포인터, 힙, 템플릿을 하나의 빽빽한 매뉴얼로 배우는 대신 한 번에 하나씩 익히고 싶은 분
  • STL과 기본 자료 구조를 전제로 하는 컴퓨터 과학 전공 수업을 따라가고 있는 분
  • 게임, 임베디드 또는 시스템 분야로 진로를 준비하며 메모리 모델을 제대로 이해하고 싶은 분
  • Python 또는 Java에서 넘어와 메모리에서 무슨 일이 일어나는지 이해하고 싶은 분
  • 템플릿 오류 메시지를 포럼에서 검색하기보다 실제 컴파일러 오류를 AI Mentor에 붙여 넣고 싶은 분

다음과 같은 경우에는 적합하지 않아요

  • 인터넷 연결 없이 코드를 실행해야 하는 분: 프로그램은 원격 GCC 컴파일러에서 컴파일됩니다.
  • 멀티파일 CMake 프로젝트, 대규모 외부 라이브러리, 디버거처럼 컴퓨터에서 사용하는 것이 적합한 완전한 데스크톱 툴체인이 지금 필요한 분
  • 51개 과정을 모두 무료로 이용하고 싶은 분: 첫 번째 과정과 일부 일일 훈련은 무료이며, 나머지는 Pro에서 잠금 해제됩니다.
  • 이미 C++를 전문적으로 사용하고 있어 순서대로 진행하는 과정이 아니라 참고 자료를 원하는 분

질문

자주 묻는 질문

C++ 배우기 - 코딩 강좌란 무엇인가요?

C++ 배우기 - 코딩 강좌는 짧은 레슨과 실제 GCC 컴파일러에서 컴파일되는 내장 코드 편집기를 통해 C++ 프로그래밍을 배울 수 있는 무료 iOS 및 Android 앱입니다. 초보자, 컴퓨터 과학 전공 학생, 게임 및 시스템 개발자, 프로그래밍 수업을 준비하는 모든 사용자를 위해 제작되었습니다. 인터페이스는 22개 언어로 제공됩니다.

C++ 배우기 - 코딩 강좌는 무료인가요?

App Store와 Google Play에서 무료로 다운로드할 수 있으며 무료로 학습을 시작할 수 있습니다. 첫 번째 과정, 매일 제공되는 Predict the output 세트, 매일 진행되는 bug hunt, 하루 세 번의 Syntax Sprint 라운드, 첫 번째 guided project, 두 개의 미션, 매일 제공되는 코딩 문제, World Coding Challenge, 하루 한 번의 AI Mentor 질문은 무료입니다. Pro에서는 모든 과정, 미션과 프로젝트, 무제한 Syntax Sprint, 전체 AI 도구, 수료 시험, 광고 없는 환경을 이용할 수 있습니다.

휴대폰에서 C++를 컴파일하고 실행할 수 있나요? 오프라인에서도 작동하나요?

네. 앱의 편집기에서 C++를 작성하고 휴대폰에서 실행할 수 있습니다. 실제 GCC 컴파일러가 코드를 빌드하고 출력 결과와 종료 코드를 반환하며, cin에서 입력을 읽는 프로그램에는 직접 입력할 수 있습니다. 컴파일러가 원격으로 작동하므로 코드를 실행하려면 인터넷 연결이 필요합니다. 대규모 멀티파일 CMake 프로젝트는 컴퓨터에서 빌드하는 편이 좋습니다.

누구를 위한 앱이며, 어떤 내용을 다루나요?

C++를 첫 번째 또는 두 번째 언어로 배우는 초보자, C++ 수업을 듣는 학생, 게임 및 시스템 개발자, 메모리를 이해하고 싶은 Python 또는 Java 개발자에게 적합합니다. 51개 과정에서 변수, 문자열, 스트림, 제어 흐름, 구조체와 클래스, 벡터, 참조, 포인터, RAII, 스마트 포인터, 템플릿, 람다, STL, 파일 I/O, CMake, 동시성 및 코루틴을 다룹니다.

Predict the output, Bug hunt, Syntax Sprint는 무엇인가요?

세 가지 일일 C++ 연습 습관입니다. Predict the output에서는 매일 짧은 프로그램 5개를 보고 컴파일러가 결과를 알려 주기 전에 답을 맞혀 봅니다. bug hunt에서는 매일 고장 난 프로그램 하나를 받아 수정한 뒤 컴파일러로 올바르게 고쳤는지 확인하며, 무료 힌트도 이용할 수 있습니다. Syntax Sprint에서는 60초 동안 한 번 탭해서 답하는 문법 문제를 풀며 자신의 최고 점수를 넘어서는 데 도전합니다.

C++에서 포인터와 스택·힙의 구분은 왜 이렇게 어렵게 느껴지나요?

대부분의 언어는 값이 어디에 저장되고 언제 해제되는지 대신 결정해 주지만, C++에서는 직접 결정해야 하므로 이것이 어려움의 근본적인 원인입니다. 포인터는 다른 값의 주소를 담는 변수일 뿐이지만, 스택과 힙을 혼동하면 dangling pointer, 메모리 누수, 충돌이 발생합니다. 앱에서는 메모리 모델, RAII, 스마트 포인터를 각각 별도의 과정으로 가르칩니다.

RAII란 무엇이며, 현대적인 C++에서는 왜 수동 new와 delete보다 RAII를 선호하나요?

RAII(Resource Acquisition Is Initialization)는 리소스의 수명을 객체의 생성자와 소멸자에 연결합니다. 따라서 객체가 스코프를 벗어나면 자동으로 해제되며, 잊어버릴 delete 호출도 없습니다. 스마트 포인터는 메모리에 RAII를 적용한 것이며, raw new와 delete에서 스마트 포인터로 전환하는 것은 현대적인 C++에서 가장 큰 안전성 향상 중 하나입니다.

직접 자료 구조를 작성하기 전에 STL을 배워야 하나요?

대체로 그렇습니다. Standard Template Library에는 이미 검증된 벡터, 맵, 세트, 반복자와 알고리즘이 제공되므로, 직접 다시 구현하기 전에 std::sort를 사용하는 법을 배우게 됩니다. 기본기를 익힌 뒤에는 guided project에서 연결 리스트, 템플릿 스택 및 기타 자료 구조를 직접 만들어 봅니다.

C++ 면접 준비에도 도움이 되나요?

연습 측면에서 도움이 됩니다. Predict the output과 bug hunt는 코드를 꼼꼼히 읽는 훈련이 되고, STL 과정에서는 면접에서 자주 다루는 컨테이너와 알고리즘을 배우며, 연결 리스트, 템플릿 스택, RPN 계산기 같은 guided project에서는 일반적인 자료 구조를 연습합니다. 다만 전용 면접 문제 모음이 아니라 하나의 과정입니다.

App Store의 Learn C++: Code & Practice와 같은 앱인가요?

네. App Store 등록 제목은 Learn C++: Code & Practice이고 Google Play 등록 제목은 C++ 배우기 - 코딩 강좌이지만, 동일한 51개 과정을 제공하는 같은 앱입니다. 최종 시험을 마치면 수료증이 발급됩니다. 이 수료증은 학습 기록을 남기는 문서이며 공인 자격은 아닙니다.

시작하기

오늘 첫 C++ 프로그램을 컴파일해 보세요

51개 과정, 실제 GCC 컴파일러, AI Mentor를 제공합니다. iOS와 Android에서 22개 언어로 무료로 시작할 수 있습니다.

App Store — 무료로 다운로드Google Play — 무료로 다운로드
마지막 검토일 · CoddyKit에서 게시 · 개인정보 보호정책
iOS 및 Android에서 이용할 수 있어요.