인기여정
C++ 배우기
무료로 즐기는 인터랙티브 온라인 C++ 강의입니다. 매 레슨마다 직접 C++ 코드를 작성하며 기초, 포인터, 클래스, 템플릿까지 다루고, 컴파일러가 까다로운 에러를 뱉어낼 때는 AI 힌트가 도와줍니다. 끝까지 완주하면 무료 수료증도 드려요.
211,803+ 명의 codders가 등록함
- 초보자 환영
AI 코딩 도우미
실습 중심의 대화형 강의
모든 레슨에 음성 나레이션 제공
지식을 확인하는 퀴즈
무료 수료증
커리큘럼
섹션 1
기초
섹션 시작하기시작펼치기접기필수 개념과 기본 기술로 튼튼한 기초를 다지세요소개
4 개 강의325- 01C++챌린지
- 02Hello World!챌린지퀴즈
- 03주석퀴즈
- 04기본 프로그램 구조챌린지퀴즈
변수 Part 1
6 개 강의846- 01정수챌린지마스터리퀴즈
- 02실수챌린지마스터리퀴즈
- 03String챌린지퀴즈
- 04Boolean챌린지퀴즈
- 05Char챌린지퀴즈
- 06상수챌린지퀴즈
변수 파트 2
5 개 강의334- 01타입 선언챌린지퀴즈
- 02명명 규칙퀴즈
- 03복습 - 변수 초기화챌린지
- 04타입 캐스팅 파트 1챌린지퀴즈
- 05타입 캐스팅 파트 2퀴즈
연산자 파트 1
7 개 강의654- 01산술 연산자챌린지퀴즈
- 02나머지 연산자챌린지퀴즈
- 03증감 연산자챌린지퀴즈
- 04후위 증감 연산자챌린지퀴즈
- 05산술 연산 축약챌린지퀴즈
- 06비교 연산자챌린지퀴즈
- 07문자열 비교퀴즈
연산자 파트 2
4 개 강의423- 01논리 연산자 파트 1챌린지퀴즈
- 02논리 연산자 파트 2챌린지퀴즈
- 03요약 - 단순 논리챌린지
- 04논리 연산자 파트 3챌린지퀴즈
조건문
6 개 강의637- 01If 문챌린지퀴즈
- 02If - Else 문챌린지퀴즈
- 03Switch 문챌린지퀴즈
- 04조건 연산자챌린지퀴즈
- 05복습 - If Else챌린지
- 06중첩 If - Else 문챌린지퀴즈
입출력 기초
5 개 강의524- 01cout 문챌린지마스터리퀴즈
- 02cin 문챌린지퀴즈
- 03문자열 입력퀴즈
- 04요약 - 120까지챌린지
- 05요약 - 참 또는 거짓챌린지
숫자 계산기
프로젝트4 개 강의16- 01환영 메시지챌린지퀴즈
- 02숫자 입력받기프로젝트
- 03기본 연산프로젝트
- 04포맷된 출력프로젝트
반복문
9 개 강의760- 01For 반복문 Part 1챌린지퀴즈
- 02While 반복문챌린지퀴즈
- 03Do While 반복문챌린지퀴즈
- 04Break챌린지퀴즈
- 05Continue챌린지퀴즈
- 06For 반복문 Part 2퀴즈
- 07중첩 반복문챌린지퀴즈
- 08무한 루프퀴즈
- 09요약 - 동적 입력챌린지
함수
7 개 강의739- 01함수 선언하기챌린지퀴즈
- 02매개변수챌린지마스터리퀴즈
- 03반환 타입챌린지퀴즈
- 04함수 오버로딩퀴즈
- 05요약 - 시그마 함수챌린지
- 06요약 - 검증 함수챌린지
- 07Void 함수챌린지퀴즈
배열 기초
9 개 강의848- 01배열 선언하기챌린지퀴즈
- 02요소에 접근하기챌린지퀴즈
- 03요소 수정하기챌린지퀴즈
- 04요약 - 배열 예쁘게 출력하기챌린지
- 05배열과 함수퀴즈
- 06요약 - 배열 요소의 곱챌린지
- 07요약 - 배열 뒤집기챌린지
- 08향상된 for 문챌린지퀴즈
- 09주요 배열 연산챌린지퀴즈
문자열
5 개 강의441- 01C 스타일 문자열 Part 1챌린지퀴즈
- 02C 스타일 문자열 Part 2퀴즈
- 03문자열 연산챌린지퀴즈
- 04문자열 함수 Part 1챌린지퀴즈
- 05문자열 함수 Part 2챌린지퀴즈
최종 도전 과제
3 개 강의37- 01숫자 패턴챌린지퀴즈
- 02패턴 찾기챌린지
- 03학생 성적 계산기챌린지
섹션 2
로직과 흐름
섹션 시작하기시작펼치기접기문제 해결 능력을 개발하고 동적이고 상호작용적인 프로그램을 만드세요포인터와 메모리
8 개 강의757- 01포인터란 무엇인가요?퀴즈
- 02주소 연산자챌린지퀴즈
- 03역참조 연산자챌린지퀴즈
- 04널 포인터챌린지퀴즈
- 05포인터와 배열챌린지퀴즈
- 06'new'를 이용한 동적 메모리챌린지퀴즈
- 07'delete'를 이용한 메모리 해제챌린지퀴즈
- 08요약 - 포인터 실습챌린지
벡터 (동적 배열)
9 개 강의861- 01std::vector 소개퀴즈
- 02벡터 생성하기챌린지퀴즈
- 03요소 추가하기챌린지퀴즈
- 04요소 접근하기챌린지퀴즈
- 05벡터 크기챌린지퀴즈
- 06For 루프로 반복하기챌린지퀴즈
- 07범위 기반 For 루프챌린지퀴즈
- 08요소 제거하기챌린지퀴즈
- 09요약 - 벡터 연산챌린지
프로젝트: 할 일 목록 도구
프로젝트5 개 강의1- 01프로젝트 개요챌린지
- 02할 일 추가하기프로젝트
- 03할 일 목록 보기프로젝트
- 04할 일 삭제하기프로젝트
- 05도구 완성하기프로젝트
맵 (키-값 쌍)
7 개 강의644- 01std::map 소개퀴즈
- 02맵 생성하기챌린지퀴즈
- 03값 접근 및 수정하기챌린지퀴즈
- 04키 존재 여부 확인하기챌린지퀴즈
- 05쌍 삭제하기챌린지퀴즈
- 06맵 순회하기챌린지퀴즈
- 07요약 - 단어 빈도챌린지
프로젝트: 재고 관리 도구
프로젝트5 개 강의1- 01프로젝트 설정챌린지
- 02아이템 추가 및 업데이트프로젝트
- 03재고 확인프로젝트
- 04재고 제거프로젝트
- 05재고 보고서 출력프로젝트
Set (중복 없는 요소)
6 개 강의538- 01std::set 소개퀴즈
- 02Set 생성 및 요소 추가챌린지퀴즈
- 03요소 존재 여부 확인챌린지퀴즈
- 04요소 삭제하기챌린지퀴즈
- 05Set 순회하기챌린지퀴즈
- 06요약 - 중복 없는 숫자챌린지
고급 함수
7 개 강의653- 01참조에 의한 전달챌린지퀴즈
- 02람다 표현식 입문챌린지퀴즈
- 03매개변수가 있는 람다챌린지퀴즈
- 04반환값이 있는 람다챌린지퀴즈
- 05재귀 입문퀴즈
- 06재귀 팩토리얼챌린지퀴즈
- 07람다 정렬챌린지퀴즈
기초 예외 처리
6 개 강의540- 01예외 입문퀴즈
- 02'try'와 'catch' 블록챌린지퀴즈
- 03'throw' 키워드챌린지퀴즈
- 04다양한 예외 유형챌린지퀴즈
- 05Catch-All 핸들러챌린지퀴즈
- 06요약 - 안전한 나눗셈챌린지
최종 과제
3 개 강의3- 01벡터 데이터 필터링챌린지
- 02맵 값 검색챌린지
- 03포인터와 동적 배열챌린지
섹션 3
객체 지향 프로그래밍
섹션 시작하기시작펼치기접기클래스, 객체, 재사용 가능한 구조로 코드를 구성하는 방법을 알아보세요OOP의 기초
11 개 강의1187- 01외부 파일챌린지퀴즈
- 02C++ 빌드 및 컴파일챌린지퀴즈
- 03헤더 파일 및 소스 파일챌린지퀴즈
- 04네임스페이스 및 스코프챌린지퀴즈
- 05C++ OOP 입문챌린지퀴즈
- 06클래스 vs 객체챌린지퀴즈
- 07'this' 포인터챌린지퀴즈
- 08메서드 (멤버 함수)챌린지퀴즈
- 09속성 (데이터 멤버)챌린지퀴즈
- 10생성자 및 소멸자 기초챌린지퀴즈
- 11요약 - 간단한 계산기챌린지
메모리 관리
6 개 강의644- 01스택 vs 힙 메모리챌린지퀴즈
- 02포인터와 참조챌린지퀴즈
- 03동적 메모리 (new/delete)챌린지퀴즈
- 04C++의 스마트 포인터챌린지퀴즈
- 05C++의 RAII챌린지퀴즈
- 06요약 - 동적 배열 관리자챌린지
생성자와 소멸자
9 개 강의972- 01기본 생성자챌린지퀴즈
- 02매개변수가 있는 생성자챌린지퀴즈
- 03복사 생성자챌린지퀴즈
- 04이동 생성자챌린지퀴즈
- 05생성자 초기화 리스트챌린지퀴즈
- 06위임 생성자챌린지퀴즈
- 07소멸자 심층 탐구챌린지퀴즈
- 083/5/0의 법칙챌린지퀴즈
- 09요약 - String 클래스챌린지
클래스 속성
7 개 강의753- 01인스턴스 vs 정적 멤버챌린지퀴즈
- 02게터와 세터챌린지퀴즈
- 03상수 멤버 함수챌린지퀴즈
- 04mutable 키워드챌린지퀴즈
- 05정적 메서드와 변수챌린지퀴즈
- 06프렌드 함수와 클래스챌린지퀴즈
- 07요약 - 은행 계좌 관리자챌린지
캡슐화
6 개 강의651- 01C++의 접근 제어자챌린지퀴즈
- 02접근 제어자 심화챌린지퀴즈
- 03정보 은닉챌린지퀴즈
- 04Struct와 Class챌린지퀴즈
- 05중첩 클래스와 내부 클래스챌린지퀴즈
- 06요약 - 학생 기록 시스템챌린지퀴즈
연산자 오버로딩
8 개 강의863- 01연산자 오버로딩 개요챌린지퀴즈
- 02산술 연산자 오버로딩챌린지퀴즈
- 03비교 연산자 오버로딩챌린지퀴즈
- 04스트림 연산자챌린지퀴즈
- 05대입 연산자 오버로딩챌린지퀴즈
- 06[] 및 () 연산자 오버로딩챌린지퀴즈
- 07형 변환 연산자챌린지퀴즈
- 08요약 - Matrix 클래스챌린지
상속
8 개 강의862- 01기초 상속챌린지퀴즈
- 02상속 접근 수준챌린지퀴즈
- 03생성자 및 소멸자 호출 순서챌린지퀴즈
- 04메서드 오버라이딩챌린지퀴즈
- 05가상 함수와 VTable챌린지퀴즈
- 06다중 상속챌린지퀴즈
- 07가상 상속챌린지퀴즈
- 08요약 - 직원 계층 구조챌린지
다형성
8 개 강의860- 01컴파일 타임 vs 런타임 다형성챌린지퀴즈
- 02함수 오버로딩챌린지퀴즈
- 03가상 함수 다시 보기챌린지퀴즈
- 04순수 가상 함수챌린지퀴즈
- 05추상 클래스챌린지퀴즈
- 06C++ 인터페이스 설계챌린지퀴즈
- 07Dynamic Casting & RTTI챌린지퀴즈
- 08요약 - 도형 계산기챌린지
템플릿
6 개 강의546- 01함수 템플릿챌린지퀴즈
- 02클래스 템플릿챌린지퀴즈
- 03템플릿 특수화챌린지퀴즈
- 04가변 인자 템플릿챌린지퀴즈
- 05SFINAE & 타입 트레이트 기초퀴즈
- 06요약 - 제네릭 컨테이너챌린지
STL 개요
6 개 강의646- 01STL 개요 및 철학챌린지퀴즈
- 02STL 컨테이너챌린지퀴즈
- 03반복자챌린지퀴즈
- 04STL 알고리즘챌린지퀴즈
- 05함수 객체 및 람다 표현식챌린지퀴즈
- 06복습 - 단어 빈도챌린지
심화 OOP 개념
7 개 강의763- 01합성 vs 상속챌린지퀴즈
- 02CRTP를 통한 Mixin챌린지퀴즈
- 03Pimpl 이디엄챌린지퀴즈
- 04타입 삭제챌린지퀴즈
- 05Enum 클래스와 강력한 타이핑챌린지퀴즈
- 06OOP에서의 예외 처리챌린지퀴즈
- 07사용자 정의 예외 계층 구조챌린지퀴즈
Modern C++ 주요 기능
7 개 강의764- 01이동 시맨틱과 Rvalue챌린지퀴즈
- 02완벽한 전달챌린지퀴즈
- 03람다 표현식 심화챌린지퀴즈
- 04std::function과 std::bind챌린지퀴즈
- 05constexpr와 consteval챌린지퀴즈
- 06구조화된 바인딩챌린지퀴즈
- 07optional, variant, any챌린지퀴즈
디자인 패턴 파트 1
6 개 강의655- 01디자인 패턴 소개챌린지퀴즈
- 02싱글톤 패턴챌린지퀴즈
- 03팩토리 & 추상 팩토리챌린지퀴즈
- 04빌더 패턴챌린지퀴즈
- 05옵저버 패턴챌린지퀴즈
- 06전략 패턴챌린지퀴즈
디자인 패턴 Part 2
7 개 강의764- 01커맨드 패턴챌린지퀴즈
- 02어댑터 패턴챌린지퀴즈
- 03데코레이터 패턴챌린지퀴즈
- 04템플릿 메서드 패턴챌린지퀴즈
- 05상태 패턴챌린지퀴즈
- 06컴포지트 패턴챌린지퀴즈
- 07패턴으로서의 RAII챌린지퀴즈
최종 도전 과제
2 개 강의2- 01이러닝 플랫폼챌린지
- 02은행 시스템챌린지
Coddy에서 C++을 배우는 이유
- 브라우저에서 바로 진짜 C++ 코드를 작성하고 실행하세요. compiler 설치도, toolchain 세팅도 필요 없습니다. 모든 레슨에서 C++ 코드를 서버에서 컴파일해 결과를 즉시 보여줍니다.
- 모던 C++: 클래스와 객체, 상속, 가상 함수, 참조와 포인터, 템플릿, STL까지. 오늘날 실제로 쓰이는 C++ 패턴들입니다.
- AI 힌트가 C++ 컴파일러 에러를 읽고 고치는 걸 도와줍니다. 특히 악명 높은 그 난해한 메시지들 말이죠. 덕분에 언어가 가혹하게 느껴지는 대신 친근하게 다가옵니다.
- 과정을 끝내면 무료 C++ 수료증을 드립니다. systems, game-dev, embedded 분야처럼 C++ 능숙도가 기본으로 요구되는 직군에 유용합니다.
C++ 학습에 대한 자주 묻는 질문
C++은 배우기 쉬운가요?
C++은 배우기 어려운 언어로 손꼽힙니다 — 포인터, 수동 메모리 관리, 방대한 기능까지 다 더해지면 그럴 만하죠. 다행인 건 첫날부터 모든 기능을 알아야 하는 건 아니라는 점입니다. 본 강의는 실용적인 핵심(변수, 제어 흐름, 함수, 클래스)부터 시작하고, 기초가 탄탄해진 뒤에야 포인터와 템플릿을 다룹니다.
C와 C++ 중에 뭐부터 배우는 게 좋을까요?
둘 다 저수준 사고방식을 익히게 해주지만, 향하는 방향이 다릅니다. C는 더 작고 가벼운 대신 메모리와 pointer를 처음부터 직접 다뤄야 합니다. C++는 더 크지만 클래스와 STL을 먼저 배우고 메모리 관리를 나중에 익히는 식으로 좀 더 완만하게 올라갈 수 있죠. 애플리케이션이나 게임 개발이 목표라면 C++로 시작하고, 임베디드나 OS 쪽이라면 하드웨어에 더 가까운 C가 낫습니다.
C++를 배우는 데 얼마나 걸리나요?
C++ 기초 — 문법, 제어 흐름, 함수, 간단한 클래스 — 는 매일 연습한다고 했을 때 3~6주 정도 걸립니다. 포인터, 템플릿, STL을 자유롭게 다루는 수준까지는 보통 3~6개월이 필요합니다. 마스터 수준(모던 C++ 관용구, 성능 최적화, 복잡한 코드베이스)에 도달하려면 몇 년 단위의 시간이 필요합니다.
C++를 온라인에서 무료로 배울 수 있나요?
네. 인터랙티브 C++ 강의는 무료입니다 — 레슨, 코딩 연습 문제, 퀴즈, 그리고 수료증까지 포함입니다. 에디터가 브라우저에서 바로 실행되기 때문에, C++ 코드를 작성하기 위해 GCC, Clang, Visual Studio를 따로 설치할 필요가 없습니다.
이 C++ 강의를 들으려면 컴파일러를 설치해야 하나요?
아니요. 모든 C++ 연습 문제는 샌드박스 환경의 서버 측에서 컴파일되며, 코드 옆에 결과가 바로 표시됩니다. 툴체인도, makefile도, IDE도 필요 없습니다.
코스를 마치면 C++ 수료증을 받을 수 있나요?
네. C++ 코스를 완료하면 무료 수료증이 발급됩니다. 이력서나 LinkedIn에 포트폴리오 코드와 함께 첨부할 수 있는 검증 가능한 증빙이죠.