[Python] Class

ggg9_·2020년 9월 30일
0

[Python] Function

목록 보기
5/5

Class란? class의 instance(실체)들을 object(객체)라 하고 object를 표현하기 위한 문법이나 개념을 class라 한다.

✔️ 클래스를 사용하면 코드의 구조를 더 효과적으로 구현할 수 있고 이렇게 클래스 위주로 코드를 작성하는 것을 객체 지향 프로그래밍(object oriented programming)이라 한다.

Class

class ClassName:
    attribute = value              # class attribute, 모든 인스턴스가 공유
    
    def __init__(self, parameter): # method
        self.attribute = parameter # attribute
        .
        .
    
instance = ClassName()             # 인스턴스(객체) 생성
instance.attribute                 # 인스턴스 속성에 접근
ClassName.attribute                # 클래스 속성에 접근
  • class명은 각 단어의 앞글자를 대문자로 사용한다.
  • class가 정의되면 class로 부터 실체화(instantiate)할 수 있다.
    👉 class를 실체(instance)화한 것을 객체(object)라고 한다.

Class Attribute(속성)

속성(attribute)란? class에 정의되는 모든 공통 요소를 말한다.

  • 속성들은 __init__ 메소드를 통해 정의되고 __init__ 메소드는 클래스가 실체화 될때 자동으로 호출된다.
    👉 class 안에서 정의해주는 함수를 method라고 한다.
  • self 파라미터는 class의 실체(instance)인 객체(object)를 가르키고 클래스를 실체화 할때 파이썬이 해당 객체(self)를 __init__ 메소드에 넘겨준다.
    👉 파이썬이 넘겨줄 수 있도록 항상 첫번째 파라미터로 정의되어야 한다.

Class Method

  • 모든 메소드에도 self 파라미터가 첫번째 파라미터로 들어가야 한다.
  • 객체에서 메소드를 사용할때는 dot(.) natation을 사용하여 객체를 호출한다.

✔️ Attribute vs Method

  • 속성은 해당 객체의 이름 등의 정해진 성질인 반면 메소드는 객체가 행할 수 있는 어떠한 동작 같은 것으로 볼 수 있다.

0개의 댓글