본문 바로가기
프로그래밍언어/파이썬[초급]

[파이썬][초급] Chapter42. 객체지향 프로그래밍 기초

by about_IT 2025. 5. 17.
728x90

객체지향 프로그래밍(Object-Oriented Programming, OOP)은 현실 세계의 사물을 객체로 모델링하여 프로그램을 구성하는 방식입니다. 이번 장에서는 클래스와 객체의 개념을 중심으로 객체지향의 기초를 익혀보겠습니다.

● 클래스와 객체

클래스는 객체를 생성하기 위한 설계도이며, 객체는 클래스에 의해 만들어진 실체입니다.

class Person:
    def __init__(self, name):
        self.name = name

    def say_hello(self):
        print(f"안녕하세요, 저는 {self.name}입니다.")

p = Person("Tom")
p.say_hello()

● self의 의미

self는 인스턴스 자신을 의미하며, 클래스 내 메서드에서 인스턴스 변수에 접근할 때 사용됩니다.

● 생성자 __init__

__init__() 메서드는 객체가 생성될 때 자동으로 호출되며, 초기값 설정에 사용됩니다.

● 인스턴스 변수와 메서드

클래스 내부에서 정의된 변수와 함수는 각각 인스턴스 변수, 인스턴스 메서드라 부릅니다.

● 여러 객체 생성

클래스로부터 여러 객체를 만들 수 있으며, 각각 독립적인 데이터를 가집니다.

p1 = Person("Alice")
p2 = Person("Bob")
p1.say_hello()
p2.say_hello()

● 클래스 변수와 메서드

@classmethod를 사용하면 클래스 전체에 영향을 주는 변수와 메서드를 만들 수 있습니다.

class Counter:
    count = 0

    def __init__(self):
        Counter.count += 1

    @classmethod
    def total(cls):
        print(f"총 객체 수: {cls.count}")

● 마무리

이번 장에서는 클래스와 객체, self, 생성자, 인스턴스/클래스 변수와 메서드의 개념을 익혔습니다. 객체지향은 복잡한 프로그램을 구조화하고 재사용성을 높이는 데 중요한 개념입니다. 다음 장에서는 상속과 오버라이딩에 대해 학습하겠습니다.

728x90