본문 바로가기
Programming Languages/Python

Chapter 12. 클래스

by 더 이프 2023. 3. 17.
728x90

Chapter 12. 클래스

 1. 클래스

  ⦁ 클래스는 똑같은 무엇인가를 계속해서 만들어 낼 수 있는 설계 도면 역할을 함

  ⦁ 객체는 클래스로 만든 피조물을 말함

  ⦁ 동일한 클래스로 만든 각각의 객체들은 서로 영향을 끼치지 않음

  ⦁ 인스턴스는 클래스로 만든 객체를 말함

  ⦁ 객체와 인스턴스의 차이

   - 객체와 인스턴스의 차이는 인스턴스가 특정 객체가 어떤 클래스의 객체인지를 관계 위주로 설명할 때 사용

   - 예를 들면 a=Class()를 하면 a는 객체라고 하고, a 객체는 Class의 인스턴스라고 표현함

 2. Example

 a. myclass

# myclass
class myclass:
    myvar1 = 10
    myvar2 = 'abc'
    
    # 생성될 때 실행
    def __init__(self, a=0, b='aaa'):
        self.myvar1 = a
        self.myvar2 = b
    
    def mymethod1(self, n):
        print(self.myvar1 * n, self.myvar2)
        
    def __str__(self):
        return 'myclass: {},{}'.format(self.myvar1, self.myvar2)
        
a = myclass(100,'def')
print(a)
print(type(a))

a.mymethod1(5)

# 결과값
myclass: 100,def
<class '__main__.myclass'>
500 def

 b. myclass2

# myclass2
# 상속
class myclass2(myclass):
    def mymethod1(self, n):
    	# 상속된 myclass의 변수 myvar1 사용
        print('myclass2 - mymethod', self.myvar1*n)
        
    def mymethod2(self):
        print('myclass2 - mymethod2')
    
b = myclass2()
b.mymethod1(10)
b.mymethod2()

# 결과값
myclass2 - mymethod 0
myclass2 - mymethod2