728x90
  • 클래스 정의 및 객체 생성

  • 생성자 : 객체가 생성될 때 자동으로 호출되는 메소드

# 클래스 정의
class Calculator:
    def __init__(self):		# 생성자 '_' 앞 뒤로 2개 씩
        self.result = 0
    def add(self,num):		# 메소드
        self.result += num
        return self.result
    
cal1 = Calculator()		# 객체 생성
print(cal1.add(3))
  •  클래스로 사직연산 만들기

class Calculator:
    def __init__(self):		
        self.result = 0
    def add(self,num):		
        self.result += num
        return self.result
    def sub(self,num):
        self.result -= num
        return self.result
    def mul(self,num):
        self.result *= num
        return self.result
    def div(self,num):
        self.result /= num
        return self.result
        
cal1 = Calculator()		

print(cal1.add(3))
print(cal1.sub(1))
print(cal1.mul(4))
print(cal1.div(2))

실행결과 : 
3
2
8
4.0
  • 클래스의 상속 : 부모 클래스의 내용(속성과 메소드)을 자식 클래스가 가지게 되는 것입니다.

class Calculator:
    def __init__(self):
        self.result = 0
    def add(self,num):
        self.result += num
        print("Calculator's add")
        return self.result

class MoreCalculator(Calculator):
    def pow(self,num):
        self.result = num ** 2
        return self.result
    
cal1 = Calculator()

print(cal1.add(3))

mcal1 = MoreCalculator()

print(mcal1.pow(4))
print(mcal1.add(3))

실행결과 : 
Calculator's add
3
16
Calculator's add
19
  • 메소드 오버라이딩 : 부모 클래스에 있는 메소드와 같은 이름으로 만드는 것

class Calculator:
    def __init__(self):
        self.result = 0
    def add(self,num):
        self.result += num
        print("Calculator's add")
        return self.result

class MoreCalculator(Calculator):
    def pow(self,num):
        self.result = num ** 2
        return self.result
    def add(self,num):						# 메소드 오버라이딩
        self.result += num
        print("MoreCalculator's add")
        return self.result
    
cal1 = Calculator()

print(cal1.add(3))
print(cal1.sub(1))
print(cal1.mul(4))
print(cal1.div(2))

mcal1 = MoreCalculator()

print(mcal1.pow(4))
print(mcal1.add(3))

실행결과 : 
Calculator's add
3
16
MoreCalculator's add
19
728x90

'Programming > Python' 카테고리의 다른 글

Python 예외 처리하기  (0) 2020.01.10
Python 모듈 사용하기(random, datetime, time)  (0) 2020.01.10
Python 터틀 그래픽 사용하기  (0) 2020.01.09
Python 파일 입출력하기  (0) 2020.01.09
Python 함수 사용하기  (0) 2020.01.08

+ Recent posts