파이썬의 기본 코드 구성 단위는 '모듈'입니다
파이썬은 클래스만으로 구성되는 언어가 아닙니다. 파이썬에서 코드를 분해하고 조직화하는 기본 단위는 모듈(module)입니다. 하나의 모듈에는 밀접하게 연관된 클래스가 한두 개부터 수십 개까지 포함될 수 있으며, 클래스뿐 아니라 독립적인 함수들도 함께 담을 수 있습니다.
여기서 중요한 규칙은 '하나의 모듈 = 하나의 파일'이라는 점입니다. 즉, 파이썬에서 코드를 나누는 자연스러운 경계는 클래스가 아니라 모듈인 셈입니다.
파일마다 클래스를 하나씩만 넣으면 어떻게 될까?
Java처럼 파일 이름과 클래스 이름이 반드시 일치해야 하는 언어와 달리, 파이썬에서는 파일당 클래스 하나만 두는 것이 금지되어 있지 않습니다. 하지만 이 방식을 고수하면 아주 작은 파일들이 수없이 많아져 오히려 프로젝트 구조를 파악하고 관리하기 어려워질 수 있습니다.
반대로 서로 관련 없는 클래스까지 한 파일에 무분별하게 몰아넣으면 응집도가 떨어져 유지보수가 힘들어집니다.
결론: 상황과 편의에 따라 유연하게 결정하세요
정리하면 다음과 같습니다.
- 밀접하게 연관된 클래스라면 하나의 모듈(파일)에 함께 정의하는 것이 자연스럽습니다.
- 독립적이고 재사용 가능한 클래스라면 별도의 파일로 분리하는 것이 좋습니다.
- 모듈이 커지면 패키지(package)로 묶어 계층적으로 구성할 수 있습니다.
즉, 파이썬에서는 파일당 클래스 수를 기계적으로 정하기보다 코드의 응집도와 가독성을 기준으로 상황에 맞게 하나 또는 여러 개의 클래스를 한 파일에 정의하는 것이 바람직합니다.