인터페이스와 클래스 at 파이썬

만두다섯개·2024년 2월 16일
0

호기심

목록 보기
12/29

파이썬에서 클래스와 인터페이스의 관계를 설명하는 예시를 들어보겠습니다.

가정해 봅시다. 우리는 도형(Shape)을 다루는 프로그램을 만들려고 합니다. 이 프로그램에는 여러 종류의 도형이 있습니다. 각 도형은 면적을 계산할 수 있어야 합니다.

인터페이스(Interface):
우선, 인터페이스로 "면적을 계산할 수 있는 도형"을 정의합니다. 이 인터페이스에는 calculate_area()라는 메서드만 포함됩니다.

from abc import ABC, abstractmethod

class Shape(ABC):
    @abstractmethod
    def calculate_area(self):
        pass

클래스(Class):
이제 도형 클래스를 구현할 차례입니다. 예를 들어, 사각형과 원을 나타내는 클래스를 만들 수 있습니다.

class Rectangle(Shape):
    def __init__(self, width, height):
        self.width = width
        self.height = height
    
    def calculate_area(self):
        return self.width * self.height

class Circle(Shape):
    def __init__(self, radius):
        self.radius = radius

    def calculate_area(self):
        return 3.14 * self.radius * self.radius

활용:
이제 우리는 도형 클래스를 사용하여 사각형과 원의 면적을 계산할 수 있습니다.

rectangle = Rectangle(5, 4)
print("Rectangle Area:", rectangle.calculate_area())  # 출력: 20

circle = Circle(3)
print("Circle Area:", circle.calculate_area())        # 출력: 28.26

이렇게 하면 클래스와 인터페이스가 상호작용하여 다양한 도형을 나타내고 해당 도형들의 공통된 특징인 면적을 계산할 수 있습니다. 인터페이스를 통해 클래스 간의 관계가 정의되고, 클래스는 이러한 인터페이스를 구현함으로써 특정 기능을 갖게 됩니다.

profile
磨斧爲針

0개의 댓글