클래스 기초

 

클래스 이해를 위해 필요한 단어

  • Class
    • 데이터와 기능(함수)을 묶어놓은 객체
  • Instance
    • 클래스에 의해 만들어진 객체
  • Attribute
    • 클래스 내부에 포함되어있는 함수나 변수를 의미
  • Method (3가지 타입을 가짐)
    1. 인스턴스 메서드
      • 인스턴스 변수에 접근할 수 있도록 첫 번째 인자에 항상 객체 자신을 의미하는 self 파라미터를 갖음
    2. 정적 메서드
      • 객체와 독립적이지만 클래스 내애 포함되는 메서드 (\@staticmethod 키워드로 정적 메서드 선언)

          class Calc:
                    
              count = 10 # 클래스 변수(클래스 속성)
                    
              @staticmethod
              def add(a):
                  print(a + Calc.count) # 클래스 속성에는 엑세스가 가능하다.
                    
              @staticmethod
              def mul(a):
                  print(a * Calc.count)
        
    3. 클래스 메서드
      • self 파라미터 대신 cls 파라미터를 갖음
      • 해당 객체로부터 호출되는 것이 아니라 클래스 자체에서 직접 호출됨
  • method 개념은 3가지
    1. 정적 메소드
    2. 인스턴스 메소드
    3. 클래스 메소드