여기서 제가 말하는 것은 중첩 클래스입니다. 기본적으로 모델링중인 두 개의 클래스가 있습니다. DownloadManager 클래스 및 DownloadThread 클래스. 여기서 명백한 OOP 개념은 구성입니다. 그러나 컴포지션이 반드시 중첩을 의미하는 것은 아닙니다.
다음과 같은 코드가 있습니다.
class DownloadThread:
def foo(self):
pass
class DownloadManager():
def __init__(self):
dwld_threads = []
def create_new_thread():
dwld_threads.append(DownloadThread())
하지만 지금은 중첩이 더 나은 상황이 있는지 궁금합니다. 다음과 같은 것 :
class DownloadManager():
class DownloadThread:
def foo(self):
pass
def __init__(self):
dwld_threads = []
def create_new_thread():
dwld_threads.append(DownloadManager.DownloadThread())