[python 문법] class

dyPenguin·2020년 10월 17일
0

Python

목록 보기
5/7
post-custom-banner

colab link: class.ipynb

클래스

  • 사칙연산 클래스
class calculator:
  def __init__(self): # 생성자: 초기화 기능  ---> return X.
    self.result = 0

  def add(self, number1, number2): # 더하기 기능
    return number1 + number2

  def sub(self, number1, number2): # 빼기 기능
    return number1 - number2
  
  def mul(self, number1, number2):  # 곱하기 기능
    return number1 * number2
  
  def div(self, number1, number2):  # 나누기 기능
    return number1 / number2
cal1 = calculator() # 인스턴스 생성

a = cal1.add(2,7)
print(a)
b = cal1.sub(7,2)
print(b)
a = cal1.mul(2,7)
print(a)
b = cal1.div(7,2)
print(b)

> 9
  5
  14
  3.5

상속

다른 클래스의 기능을 물려받는 것
상속을 하면 상속받은 기능들을 사용 할 수 있음
기존 기능은 상속 받고 새로운 기능만 추가

class new_calculator(calculator):
  def new_div(self, number1, number2):
    if number2 == 0:
      return 'infinity'
    else : return number1 / number2
new_cal1 = new_calculator()

print(new_cal1.new_div(3, 0))
print(new_cal1.mul(4, 6))

> infinity
  24

오버라이딩(Overriding)

부모 클래스(상속한 클래스)에서 정의한 메소드를 자식 클래스에서 변경 하는 것
기본적인 기능을 사용하고, 특정 기능을 바꾸고 싶을 때 사용

class edited_calculator(calculator):
  def div(self, number1, number2):
    if number2 == 0:
      return 'infinity'
    else : return number1 / number2
edited_cal1 = edited_calculator()
print(edited_cal1.div(4, 0))

> infinity

클래스 변수

  • 객체 변수와 클래스 변수의 차이 비교
    객체변수 는 다른 객체들에 영향받지 않고 독립적으로 그 값을 유지
    클래스변수 는 클래스로 만든 모든 객체에 공유 됨
    사용비율 : 클래스 변수 < 객체 변수
profile
멋진 개발자가 되고픈 펭귄입니다.
post-custom-banner

0개의 댓글