본문 바로가기
사회

파이썬을 배워 봅시다. 객체 지향 프로그래밍에 대하여 (2)

by 핵 멜로디 2024. 9. 25.
728x90
반응형

상속(Inheritance)


상속은 기존의 클래스를 확장하여 새로운 클래스를 만드는 것을 말합니다.

마치 부모가 자식에게 유전자를 물려주듯,

자식 클래스가 부모 클래스의 속성이나 함수를 물려받을 수 있습니다.

python
 
class ElectricCar(Car): # Car 클래스를 상속받음
 
def charge(self):
 
print(f"{self.model}가 충전 중입니다.")
 

캡슐화(Encapsulation)


객체의 데이터를 외부에서 함부로 접근하지 못하도록 보호하는 개념입니다.

객체의 속성은 '외부에서 바로 접근할 수 없고', 대신 객체의 함수를 통해서만 접근할 수 있습니다.

python
 
class Car:
 
def __init__(self, color, model):
 
self.__speed = 0 # __로 시작하면 비공개 속성
 
 
def accelerate(self):
 
self.__speed += 10
 
print(f"현재 속도: {self.__speed}")
 

다형성(Polymorphism)


다형성은 같은 이름의 함수가 클래스에 따라 다르게 동작하는 것을 의미합니다.

예를 들어, 'drive'라는 함수가 차와 오토바이에 따라 다른 방식으로 동작할 수 있습니다.

python
 
class Bike:
 
def drive(self):
 
print("오토바이가 주행 중입니다.")
 
 
def start(vehicle):
 
vehicle.drive()
 
 
my_car = Car("blue", "SUV")
 
my_bike = Bike()
 
 
start(my_car)
 
start(my_bike)
 
 

정리

객체 지향 프로그래밍의 핵심은 '객체'라는 단위로 프로그램을 구조화하고,

이러한 객체들이 상호작용하면서 프로그램이 동작하게 하는 것입니다.

이를 통해 코드를 더욱 깔끔하고 유지보수가 쉽게 만들 수 있습니다.

이제 기본적인 개념을 다졌으니,

다음으로는 실제로 파이썬에서 객체 지향 프로그래밍을 어떻게 구현하는지 더 깊이 살펴볼 수 있을 것 같습니다.

OOP를 이용해 더욱 복잡한 프로그램을 만들 수 있는 힘을 기를 수 있습니다!

728x90
반응형