[python] 싱글톤 디자인 패턴을 사용한 API 구현

이번 포스트에서는 Python으로 싱글톤 디자인 패턴을 사용하여 API를 구현하는 방법에 대해 알아보겠습니다.

싱글톤 디자인 패턴이란?

싱글톤 디자인 패턴은 어떤 클래스가 단 하나의 인스턴스만을 갖고 그 인스턴스에 대한 접근을 제공하는 디자인 패턴입니다.

Python에서의 싱글톤 패턴 구현

Python에서 싱글톤 패턴을 구현하는 간단한 방법은 클래스 변수를 사용하여 인스턴스를 저장하고, 생성자를 통해 이미 생성된 인스턴스가 있는지 확인하는 것입니다.

class SingletonAPI:
    _instance = None
    
    def __new__(cls):
        if cls._instance is None:
            cls._instance = super().__new__(cls)
        return cls._instance

    def call_api(self, endpoint):
        # API 호출 로직
        pass

위 예시에서 _instance 변수를 사용하여 유일한 인스턴스를 저장하고, __new__ 메서드를 통해 이미 생성된 인스턴스가 있는지 확인한 후 인스턴스를 생성합니다.

싱글톤 API 사용 예시

이제 위에서 구현한 싱글톤 API를 사용하는 방법을 살펴보겠습니다.

api1 = SingletonAPI()
api2 = SingletonAPI()

print(api1 is api2)  # Output: True

위 코드에서 api1api2는 동일한 인스턴스를 참조하고 있기 때문에 True가 출력됩니다.

마무리

이렇게 Python에서 싱글톤 디자인 패턴을 사용하여 API를 구현하는 방법에 대해 알아보았습니다. 싱글톤 패턴은 인스턴스를 전역적으로 사용해야 하는 상황이나 리소스를 공유해야 하는 경우에 유용하게 사용될 수 있습니다.

참고문헌: Real Python - Singleton Pattern in Python

잘못된 정보가 있다면 언제든 도와드리겠습니다!