2022-09-13 TIL sparta

최해민·2022년 9월 13일
0

Python 심화

Class

  • Class란?

클래스를 선언하는것은 과자 틀을 만드는 것이고, 선언된 **과자틀(class)**로
**과자(instance)**를 만든다고 생각하면 됩니다.

선언 후 바로 사용되는 함수와 다르게 클래스는 인스턴스를 생성하여 사용하게 됩니다.

class 내부에 선언되는 메소드는 기본적으로 self라는 인자를 가지고 있습니다.

**self는 클래스 내에서 전역 변수와 같이 사용됩니다.**

# 용어 정리
 - 인스턴스(instance) : class를 사용해 생성된 객체
 - 메소드(method) : 메소드란 클래스 내에 선언된 함수이며, 클래스 함수라고도 한다.
 - self : 메소드를 선언할 때에는 항상 첫번째 인자로 self를 넣어줘야 한다.

이창호 튜터님께서 클래스에 대해 강의하셨다.

짚고 넘어가고 싶은 부분을 발췌했다.

파이썬은 객체지향 프로그래밍 언어인데, 이 클래스를 이용하여 객체지향 프로그래밍을 하게 된다.

클래스 강의 내용에서 self와 __init__에 관한 내용이 나오는데 점검할 필요를 느꼈다.


  • self?

    메소드를 선언할 때에는 항상 첫번째 인자로 self를 넣어줘야 한다. 라고 써져있다.
    여기서 self는 클래스 인스턴스를 인자로 전달해줍니다.
    이해하기 쉽게 인스턴스, 자기 자신을 참조한다는 말로 이해했습니다.

  • __init__?

    __init__은 인스턴스 생성과 동시에 자동으로 호출되는 메소드인 생성자 입니다
    인스턴스 생성과 초기값 입력을 한 번에 처리하기 용이하며 다음과 같이 사용할 수 있습니다.
class Area():
    # 인스턴스 생성시 가로a, 세로b를 저장.
    def __init__(self, a, b):
        self.a = int(a)
        self.b = int(b)
        self.PIE = 3.14
        print("인스턴스 생성!")

self 뒤로 인자를 받아서, 초기값을 지정해 줄 수 있습니다.
a 라는 인자를 받아서 값을 저장해주었으며,
굳이 인자를 받지 않고도 상수인 PIE를 저장해줄 수도 있습니다.

Django를 사용하게 되면 좋든싫든 만나게 될 아이들...
아직까지 Class에 대해 많이 이해하지 못했지만, 어려워도 자꾸 찾아보는 습관을 가져야겠다.

profile
안녕하세요

0개의 댓글