CH 13 Class

Huisu·2021년 12월 1일
0

Python

목록 보기
13/17
post-thumbnail

Class

Object

  • 어떤 Data type의 Instance
  • 어떤 Data type의 값이나 메모리 주소
  • Class의 하나의 실질적인 예시
  • 어떤 Class의 소유로 만들어낸 예제
  • isinstance(instance, data_type): instance가 data_type의 instance가 맞는지 알려 주는 함수

Class

  • Data type
  • int, float, str 모두 Class
  • 직접 정의해서 사용할 수 있음
  • 변수들이 어떤 형식을 갖는지 정의해 두는 틀

Method

  • method는 class 안에 정의된 함수 (member function)
  • member function의 첫 번째 parameter는 무조건 self
  • 어떤 class method의 첫 parameter는 항상 해당 class의 객체
  • 외부에서 method를 접근할 때는 class_variable.method() 로 접근

Inheritance

  • base class: 상위 클래스, 부모 클래스
  • derived class: 하위 클래스, 자식 클래스
  • 하위 클래스는 부모 클래스를 상속받음
  • 하위 클래스가 부모 클래스를 상속받은 경우 부모 클래스의 변수, method 모두 사용 가능
  • 모든 class는 objet class의 하위 클래스
  • class dereived_class (base_class): 로 상속 표기

Inheritance Method

__init__

  • 생성자 method
  • 생성자를 따로 언급하지 않으면 자동으로 상위 클래스인 object의 생성자 사용
  • 다른 값으로 멤버 변수를 초기화하고 싶을 때는 redefine해서 사용
  • 생성자에 self 이외에 다른 parameter를 넣는 순간 override

__str__

  • print를 위한 함수
  • override로 구현하지 않으면 상위 클래스의 str 함수 사용

__eq__

  • 비교 연산자를 위한 함수
  • 상위 클래스 object의 eq: 클래스의 모든 멤버 변수가 똑같아야 True
  • 일부분만 같아도 True 값을 반환하도록 override 가능

Override vs Overload

Override

  • 상속받은 method를 자식 class에서 새로 수저애서 사용
  • redefine한 경우 상속받은 원래 method 사용 불가능

Overloading

  • 상속과 무관한 기능
  • parameter 조합만 다르다면 이름이 같은 여러 메소드를 만들 수 있게 하는 기능

0개의 댓글