1. 객체지향 프로그래밍이란?
객체지향 프로그래밍은 데이터(속성)와 그 데이터를 처리하는 방법(메서드)을 하나로 묶는 프로그래밍 패러다임입니다. 이를 통해 프로그램을 더욱 모듈화하고, 코드 재사용을 증가시킬 수 있습니다.
2. 클래스와 객체
- 클래스: 클래스는 객체를 생성하기 위한 템플릿 또는 설계도입니다. 데이터와 메서드를 하나의 구조로 캡슐화합니다.
- 객체: 클래스를 기반으로 생성된 인스턴스입니다. 클래스에서 정의된 속성과 메서드를 실제 데이터와 함께 사용할 수 있습니다.
class Car:
def __init__(self, make, model, year):
self.make = make
self.model = model
self.year = year
def display_info(self):
print(f"{self.year} {self.make} {self.model}")
my_car = Car("Toyota", "Corolla", 2021)
my_car.display_info()
3. 상속
상속은 한 클래스(부모 클래스)의 속성과 메서드를 다른 클래스(자식 클래스)가 이어받아 사용할 수 있게 하는 기능입니다. 이를 통해 코드의 중복을 줄이고, 유지보수를 용이하게 합니다.
class ElectricCar(Car): # Car 클래스를 상속받음
def __init__(self, make, model, year, battery_size):
super().__init__(make, model, year)
self.battery_size = battery_size
def display_battery(self):
print(f"This car has a {self.battery_size}-kWh battery.")
my_tesla = ElectricCar("Tesla", "Model S", 2020, 85)
my_tesla.display_info()
my_tesla.display_battery()
4. 다형성
다형성은 같은 이름의 메서드가 다른 클래스에서 다른 작업을 수행할 수 있도록 합니다. 이는 메서드 오버라이딩을 통해 구현할 수 있습니다.
class Dog:
def speak(self):
print("Woof woof!")
class Cat:
def speak(self):
print("Meow meow!")
def pet_sound(pet):
pet.speak()
my_dog = Dog()
my_cat = Cat()
pet_sound(my_dog)
pet_sound(my_cat)
마무리
이 포스트를 통해 파이썬에서 객체지향 프로그래밍의 기본적인 개념과 사용 방법을 배웠습니다. 클래스와 객체, 상속, 다형성을 활용하면 보다 구조화되고 유지보수가 용이한 코드를 작성할 수 있습니다. 객체지향 프로그래밍은 프로그램의 설계 단계에서부터 효과적인 관리와 확장을 가능하게 합니다. 이
러한 개념들은 복잡한 시스템을 개발할 때 특히 중요하며, 다음 포스트에서는 더욱 심화된 주제들을 다루어 보겠습니다.
'파이썬' 카테고리의 다른 글
파이썬 입문 - 9. 파이썬에서의 고급 객체지향 기술 (0) | 2024.04.21 |
---|---|
파이썬 입문 - 7. 파이썬 파일 입출력 (0) | 2024.04.21 |
파이썬 입문 - 6. 파이썬 예외 처리 (0) | 2024.04.21 |
파이썬 입문 - 5. 파이썬 컬렉션 (1) | 2024.04.21 |
파이썬 입문 - 4. 파이썬의 함수와 모듈 (2) | 2024.04.21 |