파이썬의 기초 강좌: 객체 지향 프로그래밍

2024. 4. 9. 14:46파이썬/6.객체 지향 프로그래밍

반응형

안녕하세요 여러분! 파이썬의 기초 강좌 시리즈 포스팅을 시작하겠습니다. 이번에는 객체 지향 프로그래밍에 대해 알아보겠습니다. 객체 지향 프로그래밍은 코드를 클래스와 객체의 형태로 구성하여 코드의 재사용성과 유지보수성을 높이는 방법입니다.

객체 지향 프로그래밍이란?

객체 지향 프로그래밍은 현실 세계의 개념을 모델링하여 프로그램을 작성하는 방법입니다. 이를 통해 코드의 재사용성과 유지보수성을 높일 수 있습니다. 객체 지향 프로그래밍의 주요 개념은 클래스와 객체입니다.

클래스와 객체

클래스는 객체를 만들기 위한 설계도와 같은 역할을 합니다. 클래스는 속성(데이터)과 메서드(함수)로 구성됩니다. 객체는 클래스의 인스턴스로, 클래스를 기반으로 생성됩니다. 이를 통해 여러 개의 객체를 만들고 각각의 객체는 독립적인 상태를 가질 수 있습니다.

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

    def greet(self):
        print(f"안녕하세요, 저는 {self.name}이고 {self.age}살입니다.")

# 객체 생성
person1 = Person("Alice", 30)
person2 = Person("Bob", 25)

# 객체 메서드 호출
person1.greet()
person2.greet()

위 코드에서 Person 클래스는 사람의 이름과 나이를 속성으로 갖고 있습니다. greet 메서드는 해당 객체가 인사하는 기능을 수행합니다. 객체를 생성할 때는 클래스이름() 형식을 사용하고, 객체의 속성과 메서드에 접근할 때는 객체이름.속성 혹은 객체이름.메서드() 형식을 사용합니다.

상속과 다형성

객체 지향 프로그래밍의 또 다른 중요한 개념은 상속과 다형성입니다. 상속을 통해 기존 클래스의 기능을 재사용하고 확장할 수 있으며, 다형성을 통해 같은 이름의 메서드를 호출해도 다양한 결과를 얻을 수 있습니다.

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

    def study(self):
        print(f"{self.name}이(가) 열심히 공부합니다.")

# 객체 생성
student = Student("Charlie", 20, "A")

# 부모 클래스 메서드 호출
student.greet()

# 자식 클래스 메서드 호출
student.study()

위 코드에서 Student 클래스는 Person 클래스를 상속받아 이름과 나이를 갖고 있습니다. 또한 study 메서드를 추가로 정의하여 학생이 공부하는 기능을 구현했습니다.

결론

오늘은 파이썬의 객체 지향 프로그래밍에 대해 알아보았습니다. 객체 지향 프로그래밍을 통해 코드의 구조화와 재사용성을 높일 수 있습니다. 다음 포스팅에서는 파이썬의 실전 프로젝트를 다루어보겠습니다.

 

파이썬의 무한한 개발의 영역으로 탐험해봅시다! 🐍✨

반응형