'''
*** 클래스 ***
변수 + 함수(메서드)

class 클래스명:
    필드(변수, 속성attribute)
    메서드

# 사용 : 정의 -> 객체생성 -> 사용

변수 = 클래스명()

1) 필드(클래스 내의 변수)
    #1. 클래스 변수
            생성위치 : 메서드 밖
            사용방법 : 클래스명.변수명
            모든 객체가 접근할 수 있는 "공용"변수
            단, 객체명으로 클래스변수의 값을 변경하게되면,
            인스턴스변수로 새로 생성한다.
            이를 메모리 후위선정방식이라고 부른다.
    #2. 인스턴스 변수
            생성위치 : 메서드 안
            사용방법 : 인스턴스(객체)명.변수명
    #3. 지역 변수
            메서드안에서 생성, 메서드가 종료되면 소멸하는 변수

2) 메서드(클래스 내의 함수) method
    #1. 인스턴스 메서드
            일반적인 클래스내에서 만드는 메서드
            첫번째 인자는 반드시 self 를 적어준다.
                self는 이 메서드를 호출할 때, 객체 자기자신을 전달받는 매개변수.
                메서드 호출시 self 에 매핑되는 데이터 기입 할 필요 X

    #2. 생성자 / init 매서드 : __init__(self)
            클래스를 통해 객체 생성할 때, 자동으로 한번 호출되는 메서드
            주로 변수 초기화하는데 사용

    #3. 클래스 메서드
        클래스 메서드는 클래스 전체에 영향을 미친다.
        첫번째 매개변수는 클래스 자신이다.
            다른 매서드와 구분을 위해, 파라미터에 cls를 적는다.
        클래스메서드 정의문위에
            @classmethod 를 붙인다 : 데코레이터
        클래스 메서드는 클래스 변수의 값 변경을 위해 주로 사용한다.

    #4. 스태틱 메서드
        클래스나 객체에 영향을 미치지 못한다. 단지 편의를 위해 존재
        클래스 안에서 메서드가 아닌 일반 함수를 사용하기 위한 메서드
        따라서 static 메서드를 정의할때 파라미터에 self를 적지 않는다.
        static메서드 정의 위에다, @staticmethod를 기술한다.




'''
b3cefaddaa0fba5217a41bcbe00d53d8ea28062c
<mask token>

'''
*** 클래스 ***
변수 + 함수(메서드)

class 클래스명:
    필드(변수, 속성attribute)
    메서드

# 사용 : 정의 -> 객체생성 -> 사용

변수 = 클래스명()

1) 필드(클래스 내의 변수)
    #1. 클래스 변수
            생성위치 : 메서드 밖
            사용방법 : 클래스명.변수명
            모든 객체가 접근할 수 있는 "공용"변수
            단, 객체명으로 클래스변수의 값을 변경하게되면,
            인스턴스변수로 새로 생성한다.
            이를 메모리 후위선정방식이라고 부른다.
    #2. 인스턴스 변수
            생성위치 : 메서드 안
            사용방법 : 인스턴스(객체)명.변수명
    #3. 지역 변수
            메서드안에서 생성, 메서드가 종료되면 소멸하는 변수

2) 메서드(클래스 내의 함수) method
    #1. 인스턴스 메서드
            일반적인 클래스내에서 만드는 메서드
            첫번째 인자는 반드시 self 를 적어준다.
                self는 이 메서드를 호출할 때, 객체 자기자신을 전달받는 매개변수.
                메서드 호출시 self 에 매핑되는 데이터 기입 할 필요 X

    #2. 생성자 / init 매서드 : __init__(self)
            클래스를 통해 객체 생성할 때, 자동으로 한번 호출되는 메서드
            주로 변수 초기화하는데 사용

    #3. 클래스 메서드
        클래스 메서드는 클래스 전체에 영향을 미친다.
        첫번째 매개변수는 클래스 자신이다.
            다른 매서드와 구분을 위해, 파라미터에 cls를 적는다.
        클래스메서드 정의문위에
            @classmethod 를 붙인다 : 데코레이터
        클래스 메서드는 클래스 변수의 값 변경을 위해 주로 사용한다.

    #4. 스태틱 메서드
        클래스나 객체에 영향을 미치지 못한다. 단지 편의를 위해 존재
        클래스 안에서 메서드가 아닌 일반 함수를 사용하기 위한 메서드
        따라서 static 메서드를 정의할때 파라미터에 self를 적지 않는다.
        static메서드 정의 위에다, @staticmethod를 기술한다.




'''