Python 9. 클래스와 객체 지향 프로그래밍

최다연·2022년 3월 12일
0

Python

목록 보기
10/10

class

클래스는 속성/필드, 메소드로 구성된다.

  • 속성/필드(attribute/filed): 데이터 멤버, 변수 등
  • 메소드(method): 클래스 내부의 함수

클래스를 생성할 때엔 특수인자인 self를 사용한다. 다른 이름을 사용해도 되지만 self가 관례적이다. 자신을 참조하는 인자이다. 생성자는 객체 생성시 호출 되는 특수한 메소드로 앞 뒤에 언더바(_)가 2개씩 붙어있다.

객체(object)는 클래스의 개체(instance)이다. '클래스'라는 것은 일종의 타입, 형태이고 그 안에 속하는 것이 객체, 클래스의 개체이다.

불필요한 정보는 숨기는 것이 좋다. 외부에서 접근할 수 없도록 하면 내가 직접 수정을 하더라도 외부에서는 영향을 받지 않기 때문이다. 이렇게 정보를 숨기는 것을 정보 은닉(information hiding) 이라고 한다. 일부만 열여두고 나머지는 숨기는 캡슐화(encapsulation)를 사용하여 재사용성을 높일 수 있다.

  • 공개(public): 외부에서도 접근 가능
  • 비공개(private) member: 내부에서만 접근 가능
    -> 2개 이상의 '_'로 시작, 끝에는 1개 이하의 '_'를 사용하면 정보가 비공개된다.

0개의 댓글