파이썬 추상클래스

'로또 번호 생성기'의 당첨번호를 매번 요청할 수 없기 때문에 버전 0.01은 파일로 저장하였고, 버전 0.02는 SQLite DB를 사용하였다. 데이터를 일반 파일과 DB를 모두 사용 가능하도록 아래와 같이 코딩을 하였다.

C언어 오랜시간 사용했기에 위 이미지와 같이 파이썬 코딩 역시 C 스타일로 코딩을 하였는데, 클래스를 사용한다면 위 코드를 좀더 다듬을수 있을 것 같다는 생각에 아래와 계층 구조를 구성하였다.

최상위 인터페이스 클래스인 DataBase을 만들고 create / open / update 추상메소드를 갖고 있으며, 하위 클래스인 FileMGR, SqlMGR 클래스가 추상메소드를 저장 매체에 맞게 구현하면 좀더 나은 설계가 아닐까 싶다.

 

아주 단순하게 클래스 관계를 생각해보았지만, 스크립트 언어인 파이썬으로 '자바나 C++처럼 객체지향 프로그래밍처럼 코딩을 할까?'라는 의심이 들긴하였지만 초심자인 내가 이런 생각보다는 일단 파이썬으로 머리속에서 생각한 것을 자유롭게 코딩할 수준까지 끌어 올리는 것이 우선이 아닐까 싶다.