Notice
Recent Posts
Recent Comments
Link
코드 여행 일기
파이썬 클래스(class)의 심화 내용과 활용 본문
728x90
반응형
안녕하세요! 이전 포스트에서는 파이썬 클래스의 기본 개념과 예제를 살펴보았습니다.
이번에는 클래스의 심화 내용과 더 다양한 활용법을 알아보겠습니다.
1. 클래스 변수와 인스턴스 변수
클래스 변수는 클래스 전체에서 공유되는 변수이고, 인스턴스 변수는 각 인스턴스마다 독립적으로 사용되는 변수입니다.
class Car:
class_variable = 0
def __init__(self, model):
self.model = model
Car.class_variable += 1
# 클래스 변수 사용
print(Car.class_variable) # 0
car1 = Car(model="Tesla")
print(car1.model) # Tesla
print(Car.class_variable) # 1
car2 = Car(model="BMW")
print(car2.model) # BMW
print(Car.class_variable) # 2
2. 메서드 오버라이딩
상속 관계에서 부모 클래스의 메서드를 자식 클래스에서 재정의하는 것을 메서드 오버라이딩이라고 합니다.
class Animal:
def speak(self):
print("동물이 소리를 낸다.")
class Dog(Animal):
def speak(self):
print("멍멍!")
my_dog = Dog()
my_dog.speak() # 멍멍!
3. 클래스 메서드와 정적 메서드
클래스 메서드는 클래스 변수를 다루거나 클래스 전체에 영향을 미치는 메서드이고,
정적 메서드는 클래스나 인스턴스와 무관하게 독립적으로 동작하는 메서드입니다.
class Math:
@classmethod
def add(cls, x, y):
print(f"{cls.__name__} 클래스의 덧셈 메서드 호출: {x + y}")
@staticmethod
def multiply(x, y):
print(f"곱셈 메서드 호출: {x * y}")
Math.add(3, 5) # Math 클래스의 덧셈 메서드 호출: 8
Math.multiply(3, 5) # 곱셈 메서드 호출: 15
이번 포스트에서는 클래스의 클래스 변수, 인스턴스 변수, 메서드 오버라이딩, 클래스 메서드,
정적 메서드 등과 같은 심화적인 내용을 다뤄보았습니다.
이러한 내용들을 잘 활용하면 보다 강력하고 유연한 클래스를 정의할 수 있습니다.
728x90
반응형
'코딩 > Python' 카테고리의 다른 글
파이썬 try 예외 처리 이해하기 (0) | 2024.01.18 |
---|---|
파이썬 __init__ 메서드 이해하기 (0) | 2024.01.17 |
파이썬 클래스(class)의 기본 개념과 예제 (0) | 2024.01.17 |
이해하기 쉬운 바이너리(Binary) 데이터의 개념과 활용 (1) | 2024.01.16 |
파이썬 pickle 라이브러리: 객체 직렬화와 역직렬화 (0) | 2024.01.16 |