이롭게 현명하게

[Python] 파이썬 클래스 본문

Python

[Python] 파이썬 클래스

dev_y.h 2023. 3. 30. 18:51
728x90
반응형

※ 본 포스팅은 윈도우 11, Pycharm, Python3 환경에서 작성되었습니다.

 

 

class Calculator: # 부모 클래스
    name='Roger' # Calculator 클래스 변수
    x=0 # 인스턴스 변수
    y=0 # 인스턴스 변수
    def __init__(self,x,y): # 클래스 생성자
        self.x = x
        self.y = y
    def setData(self,x,y): # 메서드의 매개변수
        self.x = x # 메서드의 수행문
        self.y=y # 메서드의 수행문
    def add(self):
        result = self.x+self.y
        return result
    def div(self):
        result = self.x // self.y
        return result


class MoreCalculator(Calculator) : 
# Calculator의 자식클래스
# MoreCalculator의 부모 클래스 : Calculator
    name='more Roger' # MoreCalculator 클래스 변수
    def pow(self):
        result = self.x ** self.y
        return result

class Cal(Calculator):
    name = 'C' # Cal 클래스 변수
    def div(self): # 메소드 오버라이딩
        if self.x ==0:
            return 0
        else:
            return self.x//self.y
            
a = Calculator(3,5)
b = MoreCalculator(4,2)
c = Cal(1,2)
print(c.name) # c
#a.setData(3,5)
print(a.add()) # 8
print(b.pow()) # 16
print(b.add()) # 6
 # 클래스 변수
print(a.name) # Roger
print(b.name) # more Roger
b.name = 'update name'
print(b.name) # update name

클래스(class) : 똑같은 무엇인가를 계속해서 만들어 낼 수 있는 설계도면 (ex. 과자 틀, 붕어빵 틀)

객체(Object) : 클래스로 만든 피조물(ex. 과자 틀로 만든 과자, 붕어빵 틀로 만든 붕어빵)

인스턴스(instance) : 특정 객체(a)가 어떤 클래스(cookie)의 객체인지를 관계 위주로 설명할 때 사용한다.

- a는 인스턴스(X)

- a는 객체(O)

- a는 cookie의 객체(X)

- a는 cookie의 인스턴스 (O)

인스턴스 변수 : 인스턴스를 생성해야 비로소 사용할 수 있는 변수

클래스 변수 : 클래스 안에 공간이 할당도니 변수, 여러 인스턴스가 클래스 변수의 공간을 함께 사용

메서드(Method) : 클래스 안에 구현된 함수

객체를 통해 메서드를 호출하려면 도트(.) 연산자를 사용한다.

생성자 (Constructor) : 객체가 생성될 대 자동으로 호출되는 메서드

파이썬 메서드 이름으로 __init__를 사용하면 메서드는 생성자가 된다.

상속 (Inheritance) : 클래스 A를 만들 대 다른 클래스 B의 기능을 물려받을 수 있게 만드는 것

클래스를 상속하기 위해서는 클래스 이름 뒤 괄호 안에 상속할 클래스 이름을 넣어주면 된다.

<상속을 하는 이유>

상속은 기존 클래스를 변경하지 않고 기능을 추가하거나 기존 기능을 변경하려고 할 때 사용한다.

메서드 오버라이딩 (Overring,덮어쓰기) : 부모 클래스(상속한 클래스)에 잇는 메서드를 동일한 이름으로 다시 만드는 것을 메서드 오버라이딩라고 한다.

오버라이딩 하면 부모 클래스의 메서드 대신오버라이딩한 메서드가 호출된다.

self : 클래스 자신을 가리키는것

 

 

 

 

 

 

 

[Python] 파이썬 모듈

목차 모듈이란 모듈 만들기 모듈 불러오기 if __name__ == "__main__" 다른 파일에서 모듈 불러오기 sys.path.append 사용하기 PYTHONPATH 환경변수 사용하기 모듈 : 함수나 변수 또는 클래스를 모아놓은 파일 i

devyihyun.tistory.com


잘못된 정보는 댓글에 남겨주시면 감사하겠습니다!😊

댓글과 좋아요는 큰 힘이 됩니다!

 

 

728x90
반응형

'Python' 카테고리의 다른 글

[Python] 파이썬 패키지  (0) 2023.04.03
[Python] 파이썬 모듈  (0) 2023.03.31
[Python] 프로그램 입출력 / sys모듈  (0) 2023.03.29
[Python] 파이썬 함수 매개변수  (0) 2023.03.28
[Python] 파이썬 사용자 함수  (0) 2023.03.27
Comments