[생활코딩] 파이썬의 객체 지향 프로그래밍 요약본


생활코딩 강의를 보고 파이썬의 객체 지향 프로그래밍 요약하려 한다.

객체 제작

클래스 용어

  • 클래스와 인스턴스 : 설계도가 클래스, 그 실체가 인스턴스
  • 인스턴스를 객체라고 부름(클래스 생성에 따라 메모리에 할당된 객체인 인스턴스를 ‘객체’라고 부른다)
  • 매소드 : 함수, 행위
  • 변수 : 속성, 필드, 상태

클래스 코드 관련

  • __init__ : 인스턴스가 생성될 때 자동으로 생성. 초기화.
  • self : 인스턴스 변수라는 뜻 (Ruby에서는 @)
  • 루비는 init에서 @ 선언한 변수는 모든 메소드에서 사용할 수 있다.(전역변수 같은 개념)(파이썬은 self, 표현방법이 다를뿐)

객체를 사용하는 이유

  • 객체를 사용하지 않을경우 : 프로그램이 엄청 커진다고 생각하면 실수하는 할 수 있다.(ex. add라는 함수가 중복되면서 프로그램 오작동할수있다.)
  • 객체 사용하는 경우 : 다른 코드에 영향을 받을 가능성이 적음

객체를 사용했을때 파이썬 코드

class Cal(object):
    def __init__(self, v1, v2):
        self.v1 = v1
        self.v2 = v2
 
    def add(self):
        return self.v1+self.v2
 
    def subtract(self):
        return self.v1-self.v2
 

c1 = Cal(10,10)
print(c1.add())
print(c1.subtract())
c2 = Cal(30,20)
print(c2.add())
print(c2.subtract())

객체를 사용하지 않은 파이썬 코드

def add(v1, v2)):
    return v1+v2

def subtract(v1, v2):
    return v1-v2
 
num1 = 10
num2 = 10
print(add(num1,num2))
print(subtract(num1,num2))
 
num3 = 30
num4 = 20
print(add(num3,num4))
print(subtract(num3, num4))

참고 : 생활코딩-Python&Ruby




© 2018. by statssy

Powered by statssy