초꿀오소리

파이썬 _ 클래스 객체 인스턴스 본문

IT 도메인 늘리기

파이썬 _ 클래스 객체 인스턴스

초꿀오소리 2020. 10. 14. 14:11
클래스(class) 똑같은 무엇인가를 계속 만들어낼 수 있는 것 (like a 설계도면, 쿠키틀)
객체(object) 클래스로 만들어낸 피조물 (like a 쿠키)

*** 객체 간 고유성 : 클래스로 만들어 낸 객체는 서로 영향을 주지 않는다
      ex. 객체1로 만들어낸 쿠키를 한입 베어물어도 객체2는 새쿠키이다.
객체변수 객체에 생성되는 객체만의 변수로
객체변수는 다른 객체의 객체변수에 상관 없이 독립적인 값을 유지한다.

a = fourcal( )
def setdata(self,first,second)
      self.first = first
      self.second = second

a.setdata(4,2) --> first와 second 라는 객체변수가 생성되고 4, 2라는 값이 저장된다.
print(a.first)  --> 4 
인스턴스(instance) 특정 객체와 클래스의 관계를 설명할 떄 사용하는 표현으로 
a = cookie( ) 일떄
a는 객체이고 cookie 클래스의 인스턴스이다.
메서드(method) 클래스 내부에 구현된 함수

[함수 선언 형식]
def 함수 이름 (매개 변수) :
     수행 문장
      ....

[파이썬의 매개변수]
메서드의 첫번째 매개변수로 self를 명시적으로 선언하는데 
이는 파이썬만의 특징으로 self는 객체 자신을 의미한다.
생성자 (__init__) 객체가 생성될 때 자동으로 호출되는 메서드로
__init__ 를 사용하여 메서드를 생성자로 만들 수 있다. 

def __init__ (self, first, second)
     self.first = first
     self.second = second
상속 어떤 클래스를 만들에 다른 클래스의 기능을 물려받을 수 있게 만드는 것

class 클래스 이름 (상속할 클래스 이름)

상속 필요성 : 기존 클래스가 리이브러리 형태로 제공되거나 수정이 어려운 경우라면
                  기존 클래스 자체를 수정하지 않고 이를 상속하여 수정, 재사용 할 수 있기 때문
매서드 오버라이딩 부모 클래스(상속한 클랙스)에 있는 메서드를 동일한 이름으로 다시 만들어 덮어쓰기하여
변형 사용하는 것을 말한다. (overriding = 덮어쓰기)
오버라이딩하면 부모 클랙스의 메서드 대신 오버라이딩한 메서드가 호출된다. 

 

Comments