Skip to content

dalgona039/Object-Oriented-Programming

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🏫 Kyung Hee Univ. - Object Oriented Programming (OOP)

경희대학교 객체지향프로그래밍 (C++) 수업 실습 및 학습 저장소입니다.
수업에서 다룬 예제 코드(Lecture Examples)와 개인적으로 학습한 내용(Personal Study)을 기록합니다.


📝 소개 (Introduction)

이 저장소는 C++ 언어를 기반으로 객체지향 프로그래밍(OOP) 의 핵심 개념과 다양한 소프트웨어 설계 기법을 학습하는 과정을 담고 있습니다.
기초 문법부터 클래스 설계, 상속, 제네릭 프로그래밍, 예외 처리까지의 내용을 포함합니다.

🛠️ 개발 환경 (Environment)

  • Language: C++ (ISO C++14 Standard compliant)
  • IDE: Visual Studio 2026
  • OS: Windows
  • Compiler: MSVC (Microsoft Visual C++)

📚 학습 커리큘럼 (Curriculum & Contents)

Part 1. C++ Fundamentals

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)
• 흐름 제어 및 중첩 루프

Part 2. Data Processing & Management

Lecture Topic Description
07 Large Data Processing • 문자열 처리 (std::string)
• 파일 입출력 (fstream, File I/O)
08-09 Advanced Data Types 포인터(Pointer) 와 메모리 주소
• 배열(Array)과 벡터(std::vector) 의 활용

Part 3. Object-Oriented Programming (Core)

Lecture Topic Description
10-11 Class & Object • 클래스 설계와 객체 생성
• 캡슐화(Encapsulation), 접근 제어자
• 생성자(Constructor)와 소멸자(Destructor)
12 Inheritance • 상속의 개념과 구현
• 기초 클래스(Base)와 유도 클래스(Derived)
• 함수 오버라이딩(Overriding)

Part 4. Advanced Features

Lecture Topic Description
13 Generic Programming 템플릿(Template) 과 일반화 프로그래밍
STL (Standard Template Library) 활용
• 반복자(Iterator)와 람다(Lambda) 함수
14 Exception Handling • 런타임 에러 처리 (try, catch, throw)
• 예외 클래스 설계

📂 폴더 구조 (Directory Structure)

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에서 생성되는 디버그 심볼 번들입니다.
  • 확장자 없는 항목들은 빌드된 실행 파일(바이너리)입니다.

👤 작성자 (Author)


⚠️ 주의사항 (Notice)

이 저장소의 코드는 개인 학습 및 포트폴리오 목적으로 작성되었습니다. 경희대학교 객체지향프로그래밍 수강생 분들은 이 코드를 과제에 그대로 복사하여 제출할 경우, 표절(Plagiarism) 로 간주되어 불이익을 받을 수 있으니 학습 참고용으로만 활용하시기 바랍니다.

Please note that copying this code for your coursework may be considered plagiarism.

이 코드는 학습 목적으로 작성되었으며, 수업 내용에 따라 지속적으로 업데이트될 예정입니다.

About

C++ implementations covering OOP principles (Inheritance, Polymorphism), STL, and Design Patterns.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages