강의

멘토링

커뮤니티

NEW
Programming

/

Programming Language

2026! Learning Object-Oriented Programming Properly (with Python)

We'll teach you the true essence of object-oriented programming. Knowing terms and syntax like class, object, self, super(), and interface doesn't mean you understand object-oriented programming. Object-oriented programming is not simply a collection of syntax, but rather a philosophy on how to solve the problems of increasingly complex software. You can only use it properly when you understand the history and philosophy behind it. In this course, we first explain what problems object-oriented programming was created to solve, and what kind of thinking and design philosophy it embodies, independent of any specific language. Then, using Python as a tool, we gradually cover through hands-on practice how object-oriented concepts are designed and implemented in actual code. Through this course, you'll gain not object-oriented programming that merely follows syntax, but object-oriented programming that you can think through and design, and object-oriented thinking skills that remain solid even when the language changes.

4 learners are taking this course

Level Beginner

Course period Unlimited

  • codingpe
객체지향
객체지향
oop
oop
python
python
Python
Python
객체지향
객체지향
oop
oop
python
python
Python
Python

What you will gain after the course

  • You can properly understand the essence of object-oriented programming.

  • I can design and implement object-oriented programming using Python.

  • You can design good software that is resilient to change and highly maintainable

Object-Oriented Programming! Do you really understand it?


Class, constructor, init, self, super(), getter/setter, Interface...

Can you really say you truly understand object-oriented programming just because you know these terms and syntax?


No!!

The essence of object-oriented programming is not in these syntaxes or terms themselves. Object-oriented programming is a perspective and way of thinking about problems, and its ultimate purpose is to create software that is resilient to change.


Only by accurately understanding and empathizing with these points can you truly design in an object-oriented way and develop in an object-oriented manner.


This course is not simply a lecture explaining the syntax of a specific language. It focuses on clearly understanding the essence of object-oriented programming by examining why object-oriented programming was born, what problems it emerged to solve from its historical background, and comparing it with procedural programming.


Additionally, starting with classes, objects, and relationships between objects, we delve deeply into the four core elements of object-oriented programming—abstraction, encapsulation, inheritance, and polymorphism—as well as key object-oriented concepts and theories, including SOLID design principles.


Through this, we guide you to develop object-oriented design skills and thinking that are not dependent on any specific language, as well as a solid object-oriented foundation that can be applied to actual development.


And this course doesn't end with just theory.

We provide a hands-on practice course where you implement the object-oriented concepts and design principles learned earlier as actual code using Python.


You won't just stop at creating classes and objects, but will implement and internalize each step yourself to understand why such structures exist, which responsibilities should belong to which objects, and how to flexibly extend code when changes occur.


Through Python syntax, the course is structured to help you naturally understand through hands-on practice how object-oriented concepts like abstraction, encapsulation, inheritance, and polymorphism are expressed in real-world code, and what design significance they hold.


Through this, students can go beyond just understanding object-oriented programming and reach the stage where they can design and implement on their own.


Do you know Python syntax but find object-oriented design principles vague?

Have you been curious about how classes, inheritance, and polymorphism are applied to solving real complex software problems?

Have you ever experienced difficulties with maintenance while looking at tangled, complex code?

Understanding the essence of object-oriented programming is the beginning of better software design.
Through this course, you can properly understand object-oriented programming and grow into an object-oriented expert who can apply it in practice.


From the background and philosophy of object-oriented programming~
to object-oriented design and code implementation in Python!


Beyond simple syntax learning to 'thinking object-oriented'!!!
Grow into an 'object-oriented design expert' who can create flexible and maintainable software.

By the end of this course, you will


You will gain a proper understanding of the essence of object-oriented programming.

  • You will go beyond just knowing terms like class, object, and inheritance, and gain a clear understanding of why object-oriented programming was created, what problems it aims to solve, and its historical and philosophical background. Rather than simply memorizing syntax, you will grasp the core philosophy of object-oriented programming and develop thinking skills that remain solid regardless of the programming language.

Develop object-oriented design and implementation skills using Python.

  • Through hands-on practice, you'll gradually learn how the object-oriented concepts covered in the course are specifically designed and implemented in Python code. Rather than simply copying code, you'll develop the ability to think and design in an object-oriented way and translate that into actual code.

You can design software that is flexible to changes and has good maintainability.

  • You will deeply understand the core principles of object-oriented programming—abstraction, encapsulation, inheritance, polymorphism, and SOLID principles—and learn how to apply them in actual design. Through this, you can grow into a developer who designs robust software that flexibly adapts to changing requirements and can be easily extended even after a long period of time.

Prepare architect capabilities beyond being a coder.

  • This is the optimal course for developers who want to go beyond simply implementing features and become architects who can oversee entire systems and design optimal structures. It establishes a foundation for you to become a core talent who solves complex problems and creates better software by solidifying object-oriented thinking and design principles.


✔️

It's time to truly understand object-oriented programming

Course Curriculum Roadmap

Section 1

Let's Properly Understand Object-Oriented Programming
(Object-Oriented Theory)

This course goes beyond simply listing syntax to deeply explore object-oriented philosophy, fundamental problem-solving processes, and ways of thinking. You'll accurately understand object-oriented concepts such as classes, objects, abstraction, encapsulation, inheritance, polymorphism, and SOLID principles, and learn step-by-step how to design and implement object-oriented programming. We'll help you develop object-oriented thinking skills that aren't limited to any specific language.

Section 2

Object-Oriented Programming Implemented in Python

(Object-Oriented Practice)

You will refactor procedural code into object-oriented code using Python, and practice directly implementing classes and objects, inheritance, encapsulation, and polymorphism. You will thoroughly learn Python's object-oriented syntax including `self`, `__init__`, `super()`, `__` (double underscore), `@property`, and more.

Section 3

Hands-on Project

(Text RPG Game)

Based on theory and practice, you will comprehensively improve your object-oriented design and implementation skills through a real-world project: a 'Text RPG Game'. From design to implementing character, combat, and item systems, you can experience the power of object-oriented programming by creating a complete game using Python.

We can solve these concerns!


📌

Developers tired of spaghetti code

Developers who know object-oriented concepts but struggle with code maintenance because they can't properly utilize them

📌

Developers who want to master object-oriented programming with Python

Developers tired of simple grammar-based learning
who want to learn the true meaning and design philosophy of object-oriented programming through implementation with Python

📌

Aspiring Software Architects

Developers who want to go beyond simply implementing systems and develop design capabilities to architect structure and responsibilities, creating software that is resilient to change

Things to Note Before Enrollment


Practice Environment

  • Operating System: Windows, macOS, and Linux are all supported.

  • Python installation is required (version doesn't matter much.)

  • We recommend using an integrated development environment (IDE) such as VS Code.

Prerequisites and Notes

  • You only need to know the basic usage of Python.

  • You don't need prior knowledge of object-oriented programming.

  • You should be able to work with basic data types such as integers, floats, and strings.

Learning Materials

  • Practice example code will be shared through the lecture notes for each class.


  • Additional reference materials will be provided during the lecture.



Recommended for
these people

Who is this course right for?

  • Developers who want to properly master object-oriented programming

  • A developer who aspires to become an architect beyond being a coder

  • A developer who wants to design high-quality software

  • Developers who want to create object-oriented programs using Python

Need to know before starting?

  • Python Basic Syntax

Hello
This is

코딩하는기술사

체계적 이론 겸비 + 20년 이상 실무 경험 + Top-tier 라이선스 보유


20+ 실무 경력

  • 대형 게임사, 대기업 통신사 계열, 스타트 업 등에서 개발 리더/아키텍트

  • 웹, 윈도우, 게임, 자동화, 데이터분석 등 다양한 응용 개발

  • 개발팀(메인), 데이터베이스팀, 인프라팀 등 매니징

  • 대기업 통신 계열사, 사내 공식 강사


체계적 이론 겸비


Top-Tier 라이선스 보유

  • 기술사(정보관리) / 정보시스템수석감리원

  • ISMS-P인증심사원 / SW보안약점진단원

  • 데이터품질인증심사원(DQC-V)

     

  • Microsoft MVP(C#부문) / MCAD

     

  • PMP / OCP9i


창작 활동

  • 브런치 작가

  • 개발 관련 개인 블로그 운영


인프런 개발자들과 함께 성장하겠습니다.

공부하는 모든 개발자 분들 화이팅! 입니다^^

Curriculum

All

21 lectures ∙ (4hr 14min)

Published: 
Last updated: 

Reviews

Not enough reviews.
Please write a valuable review that helps everyone!

Limited time deal

$38,500.00

50%

$59.40

codingpe's other courses

Check out other courses by the instructor!

Similar courses

Explore other courses in the same field!