[Python] Pythone에서 Class, Method, Member Variable 사용하기


Python에서 Class 을 사용할 수 있으며, public, private, protected 등을 통해 정보 은닉 기능을 제공한다.

1. Class 선언

Python에서 클래스 선언과 사용은 쉽다.

class ClassName:
    
    .
    .
    .
    


아래 예제는 ','로 구분되어진 텍스트 파일에서 각 항목별로 데이터가 중복되지 않고 어떤 항목들이 있는지를 찾아내는 프로그램이다. 예제에서는 FileDataConverter, ItemInfo 등 두 개의 class을 선언하고, 각 class  안에 멤버 변수와 메소드를 정의하여 사용하였다.



2. Public, Protected(_), Private(__) : 접근 제어(정보 은닉)

Python은 기본적으로 Class 내에 메소드나 멤버 변수를 선언하는 키워드는 없다. 메소드나 멤버변수 이름 앞에 다음과 같은 prefix 들 추가하면 된다. 

  • '': public
    • prefix가 없다면 모든 것은 public
  • '_' : protected
    • 이름 앞에 '_' 을 추가하면 protected 로 선언
  •  '__'
    • 이름 앞에 '__'를 추가하면 private로 선언

위 예제에서 일부 멤버 변수와 메소드에 접근 제어를 한 수정된 코드는 다음과 같다.
C++나 Java를 사용했던 사람들은 조금 어색할 수 있지만, 개인적으로 명확하고 깔끔한 선언 방법으로 느껴지다.


3. 참조



댓글

이 블로그의 인기 게시물

macOS가 갑자기 부팅이 되지 않을 경우 데이터 복구 또는 백업 방법

C++로 프로그래밍할 때 인자 또는 리턴 값으로 std::vector 등 STL 데이터 타입 처리하는 좋은 방법

Git 저장소를 병합하는 방법(How to merge repositories in Git)