Python/Language

[Python] 클래스

오늘도개발 2023. 8. 3. 16:17

 1. 클래스 선언

 - 클래스의 선언 및 멤버 메서드 정의는 다음과 같이 한다.

 

       class 클래스이름:

          def 메서드이름(self):

              코드

 

 2. 클래스 인스턴스 생성 및 호출

 - 클래스의 인스턴스 생성 및 호출은 다음과 같이 한다.

 

     생성방법 : 인스턴스 = 클래스이름()

     호출: 인스턴스

     멤버 메서드 호출: 인스턴스.멤버메서드()

 

3. self

 - 클래스의 멤버 함수에는 self 라는 키워드를 입력하는데 이것은 자기 자신(인스턴스)에 접근하기 위함이다.

    ex) 클래스 내부에 다른 멤버메서드나 멤버변수가 있을 때, 이 코드에 접근하기 위해서는 self.메서드이름과 같이 접근 할 수 있다.

 

4. 클래스 생성자

 - 클래스 생성자는 클래스 인스턴스 생성시 초기화를 하기 위해 다음과 같이 사용한다.

 

class 클래스명:

    def __init__(self,매개변수):

       self.멤버변수 = 매개변수

 

5. 클래스 메서드

 - 클래스의 인스턴스를 생성하지 않고 클래스 자체로 접근할 때 사용할 수 있다.

 

class Util:

     name = "abc"

 

     @classmethod 

     def c_method(cls):

          return cls.name

 

print(Util.c_method()) --> abc

 

6. 정적(static) 메서드

 - python 에서 static 메서드는 다음과 같이 사용할 수 있다.

 

class Util:

      @staticmethod

      def add(a,b):

            return a+b

 

print(Util.add(1,2)) --> 3

 

7. 매직 메서드

 - 사전에 정의된 기능으로 특정한 상황에 정해진 키워드를 사용한다.(__키워드__)

   def __init__(self,name): --> 생성자

   def __str__(self):

        return "print로 출력시 나타낼 문자열" -->  toString 과 유사

'Python > Language' 카테고리의 다른 글

[python] 함수  (0) 2023.08.15
[python] 메모리 할당과 복사  (0) 2023.08.10
[Python] 예외처리  (0) 2023.08.04
[Python] 모듈  (0) 2023.08.03
[Python] 클래스 상속  (0) 2023.08.03