티스토리 뷰

 

www.youtube.com/watch?v=YrPu4hEs58s&list=PLU9-uwewPMe2AX9o9hFgv-nRvOcBdzvP5&index=8


1. class 기본구조

 

class사용의 예시

<작성하는 방법>

class calss명:

     함수

     함수

 

<사용하는 방법>

작성한 class를 사용해서 메모리의 주소를 담을 변수를 생성한다.

- a = Fourcal()에 해당하며 a에는 Fourcal() class의 주소가 담김

class위치가 담긴 변수에서 '.'을 사용해 객체의 메소드 활용, 변수 활용이 가능하다.

- a.setdata(4,2)를 통해 setdata메소드를 사용하고 동시에 4,2라는 변수를 넘겨받음

- 이때, a는 self로써, 객체 자신이 넘어가 객체 그 자신을 가리키게 되며 이를 통해 인스턴스 변수인 (self.first, self.second를 사용할 수 있다.)

 

 

init에 대해서

맨 처음 예제에서 self.first, self.second를 first,second에 4와 2를 대입시켜 a.first를 4로 초기화, a.second를 2로 초기화할 수 있었고 이를 a.add()앞서 사용했기에 a.add()에서 self.first오 self.second의 초기화 없이 사용이 가능했다.

이처럼, 특정 메소드가 다른 메소드의 사용에 우선이 될 경우가 있을 것이고 이런 경우가 반복된다면 해당 메소드를 클래스 호출시 항상 먼저 적용되게 할 수 있다.

이때, def __init__(slef)구조를 사용한다.


2. 상속과 class

 

<<상속 사용법>>

사용할 class를 매개변수를 사용하듯, 상속받을 class를 만들어 인자자리에 적어준다.

class "상속받을 class명"("상속할 class명")

 

<메서드의 변형>

상속받은 class의 메서드가 상속해준 class의 메서드와 동일할 때, 상속받은 class가 우선이다.

=>메서드 오버라이딩