Published on

Python 클래스 기초: 객체 지향 프로그래밍의 핵심

Authors
  • Name
    황도연
    Twitter

클래스(Class) 소개

클래스는 객체 지향 프로그래밍(OOP)의 핵심 요소입니다. Python에서 클래스는 데이터와 기능을 하나의 장소에 묶어두는 방법을 제공합니다.

클래스 정의하기

클래스는 class 키워드를 사용해 정의합니다. 클래스 내부에는 메서드(함수)와 속성(변수)을 정의할 수 있습니다.

# file name: my_class.py

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

    def greet(self):
        return f"안녕하세요, 제 이름은 {self.name}이고, 나이는 {self.age}살입니다."

객체 생성과 사용

클래스로부터 객체를 생성하려면 클래스 이름에 괄호를 추가하고 필요한 경우 초기값을 전달합니다.

# file name: create_object.py

from my_class import Person

alice = Person("Alice", 30)
# 아래와 같이 변수를 명시적으로 작성하는 것도 가능합니다.
backy = Person(name="Backy", age="10")

print(alice.greet())

클래스의 상속(Inheritance)

상속은 한 클래스가 다른 클래스의 속성과 메서드를 물려받는 기능입니다. 이를 통해 코드의 재사용성을 높일 수 있습니다.

# file name: inheritance_example.py

class Student(Person):
    def __init__(self, name, age, student_id):
        super().__init__(name, age)
        self.student_id = student_id

    def study(self):
        return f"{self.name}이(가) 공부를 합니다."

alice = Student("Alice", 20, "S12345")
print(alice.study())