강의

멘토링

커뮤니티

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.

(5.0) 8 reviews

121 learners

Level Beginner

Course period Unlimited

  • codingpe
Python
Python
oop
oop
Python
Python
oop
oop

Reviews from Early Learners

Reviews from Early Learners

5.0

5.0

이채현

33% enrolled

This is the most concise and easy to understand object-oriented programming lecture I've ever taken ㅜㅜ Thank you!

5.0

smkweon98

100% enrolled

I am a non-major student entering graduate school this term. I did take an Object-Oriented Programming course in college, but to be honest, it didn't really click with me back then. However, through this lecture, I was able to gain a very clear understanding of OOP concepts. The final hands-on project was also a lot of fun to work on!

5.0

Soogyung Gwon

33% enrolled

It was very helpful because you taught object-oriented programming in a way that was easy, concise, and systematic.

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

360

Learners

11

Reviews

3

Answers

5.0

Rating

3

Courses

The Coding Professional Engineer

Systematic theory + Over 20 years of practical experience + Top-tier license holder


20+ years of practical experience

  • Development Leader/Architect at major gaming companies, large telecommunications subsidiaries, and startups.

  • Development of various applications including web, Windows, games, automation, and data analysis

  • Managed development (main), database, and infrastructure teams

  • Official Internal Instructor


Equipped with systematic theory


Holds Top-Tier Licenses

  • Professional Engineer (Information Management) / Principal Information Systems Auditor

  • ISMS-P Auditor / SW Security Vulnerability Diagnostician

  • Data Quality Certification Auditor (DQC-V)

    Microsoft MVP (C#) / MCAD PMP / OCP9i Creative Activities: Brunch writer, running a personal development blog I will grow together with the developers at Inflearn. To all developers who study.

  • Microsoft MVP (C#) / MCAD

    PMP / OCP9i Creative Activities Brunch Writer Personal development blog operator Inflearn I will grow together with fellow developers. Cheering for all developers who are studying! Fighting! ^^

  • PMP / OCP9i


Creative Activities

  • Brunch Writer

  • Running a personal development blog


I will grow together with the developers at Inflearn.

Keep it up to all the developers who are studying! You've got this! ^^

Curriculum

All

21 lectures ∙ (4hr 14min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

8 reviews

5.0

8 reviews

  • dduckddackdori님의 프로필 이미지
    dduckddackdori

    Reviews 2

    Average Rating 5.0

    5

    33% enrolled

    This is the most concise and easy to understand object-oriented programming lecture I've ever taken ㅜㅜ Thank you!

    • smkweon98님의 프로필 이미지
      smkweon98

      Reviews 9

      Average Rating 4.9

      5

      100% enrolled

      I am a non-major student entering graduate school this term. I did take an Object-Oriented Programming course in college, but to be honest, it didn't really click with me back then. However, through this lecture, I was able to gain a very clear understanding of OOP concepts. The final hands-on project was also a lot of fun to work on!

      • baloonflower5549069님의 프로필 이미지
        baloonflower5549069

        Reviews 1

        Average Rating 5.0

        5

        33% enrolled

        • soogyunggwonca2184님의 프로필 이미지
          soogyunggwonca2184

          Reviews 2

          Average Rating 5.0

          5

          33% enrolled

          It was very helpful because you taught object-oriented programming in a way that was easy, concise, and systematic.

          • skyofwing님의 프로필 이미지
            skyofwing

            Reviews 1

            Average Rating 5.0

            5

            33% enrolled

            Limited time deal ends in 08:36:00

            $4,705.00

            50%

            $59.40

            codingpe's other courses

            Check out other courses by the instructor!

            Similar courses

            Explore other courses in the same field!