경희대학교 객체지향프로그래밍 (C++) 수업 실습 및 학습 저장소입니다.
수업에서 다룬 예제 코드(Lecture Examples)와 개인적으로 학습한 내용(Personal Study)을 기록합니다.
이 저장소는 C++ 언어를 기반으로 객체지향 프로그래밍(OOP) 의 핵심 개념과 다양한 소프트웨어 설계 기법을 학습하는 과정을 담고 있습니다.
기초 문법부터 클래스 설계, 상속, 제네릭 프로그래밍, 예외 처리까지의 내용을 포함합니다.
- Language: C++ (ISO C++14 Standard compliant)
- IDE: Visual Studio 2026
- OS: Windows
- Compiler: MSVC (Microsoft Visual C++)
| Lecture | Topic | Description |
|---|---|---|
| 01-02 | C++ Basics | • C++ 프로그램 기본 구조 (main function)• 변수, 상수, 연산자 및 표준 입출력( cin, cout) |
| 03-04 | Functions | • 함수의 정의와 호출 • 매개변수 전달 방식 (Call by Value vs Call by Reference) |
| 05-06 | Control Flow | • 조건문 (if, switch) 및 반복문 (for, while)• 흐름 제어 및 중첩 루프 |
| Lecture | Topic | Description |
|---|---|---|
| 07 | Large Data Processing | • 문자열 처리 (std::string)• 파일 입출력 ( fstream, File I/O) |
| 08-09 | Advanced Data Types | • 포인터(Pointer) 와 메모리 주소 • 배열(Array)과 벡터( std::vector) 의 활용 |
| Lecture | Topic | Description |
|---|---|---|
| 10-11 | Class & Object | • 클래스 설계와 객체 생성 • 캡슐화(Encapsulation), 접근 제어자 • 생성자(Constructor)와 소멸자(Destructor) |
| 12 | Inheritance | • 상속의 개념과 구현 • 기초 클래스(Base)와 유도 클래스(Derived) • 함수 오버라이딩(Overriding) |
| Lecture | Topic | Description |
|---|---|---|
| 13 | Generic Programming | • 템플릿(Template) 과 일반화 프로그래밍 • STL (Standard Template Library) 활용 • 반복자(Iterator)와 람다(Lambda) 함수 |
| 14 | Exception Handling | • 런타임 에러 처리 (try, catch, throw)• 예외 클래스 설계 |
Object-Oriented-Programming/
├─ cpp_basic/
│ ├─ cpp_basic_01.cpp
│ ├─ cpp_basic_02.cpp
│ ├─ cpp_basic_03.cpp
│ ├─ cpp_basic_04.cpp
│ ├─ cpp_basic_05.cpp
│ ├─ cpp_basic_06.cpp
│ ├─ cpp_basic_07
│ ├─ cpp_basic_07.cpp
│ ├─ cpp_basic_07.dSYM/
│ ├─ cpp_basic_08
│ ├─ cpp_basic_08.cpp
│ ├─ cpp_basic_08.dSYM/
│ ├─ cpp_basic_09
│ ├─ cpp_basic_09.cpp
│ ├─ cpp_basic_09.dSYM/
│ ├─ cpp_basic_10
│ ├─ cpp_basic_10.cpp
│ └─ cpp_basic_10.dSYM/
├─ functions/
│ ├─ betterprompt
│ ├─ betterprompt.cpp
│ ├─ betterprompt.dSYM/
│ ├─ evenbetterprompt
│ ├─ evenbetterprompt.cpp
│ ├─ evenbetterprompt.dSYM/
│ ├─ factorialtest
│ ├─ factorialtest.cpp
│ ├─ factorialtest.dSYM/
│ ├─ falutyswap
│ ├─ falutyswap.cpp
│ ├─ falutyswap.dSYM/
│ ├─ fuctions_01
│ ├─ fuctions_01.cpp
│ ├─ fuctions_01.dSYM/
│ ├─ pass_by_value
│ ├─ pass_by_value.cpp
│ ├─ pass_by_value.dSYM/
│ ├─ referencevar
│ ├─ referencevar.cpp
│ ├─ referencevar.dSYM/
│ ├─ simplefunction
│ ├─ simplefunction.cpp
│ ├─ simplefunction.dSYM/
│ ├─ swapwithreferences
│ ├─ swapwithreferences.cpp
│ └─ swapwithreferences.dSYM/
├─ selection_repitition/
│ ├─ betterdivision.cpp
│ ├─ betterdivision.dSYM/
│ ├─ bool.cpp
│ ├─ iterativecounttofive
│ ├─ iterativecounttofive.cpp
│ ├─ iterativecounttofive.dSYM/
│ ├─ newcheckrange
│ ├─ newcheckrange.cpp
│ └─ newcheckrange.dSYM/
├─ .gitignore
├─ LICENSE
└─ README.md
참고
*.dSYM/: macOS에서 생성되는 디버그 심볼 번들입니다.- 확장자 없는 항목들은 빌드된 실행 파일(바이너리)입니다.
- Name: Lee Won Seok
- Major: Biomedical Engineering
- Contact: icpuff83@khu.ac.kr
이 저장소의 코드는 개인 학습 및 포트폴리오 목적으로 작성되었습니다. 경희대학교 객체지향프로그래밍 수강생 분들은 이 코드를 과제에 그대로 복사하여 제출할 경우, 표절(Plagiarism) 로 간주되어 불이익을 받을 수 있으니 학습 참고용으로만 활용하시기 바랍니다.
Please note that copying this code for your coursework may be considered plagiarism.
이 코드는 학습 목적으로 작성되었으며, 수업 내용에 따라 지속적으로 업데이트될 예정입니다.