21.2.5

위코드 사전스터디

목록 보기
31/36

<클래스 관련 강의 확인하며 정리하기>

  1. 클래스에서의 함수는 method라 부른다.
    그리고 그 모든 메서드의 첫 번째 인자는 그 메서드를 호출한 인스턴스다.(self)

  2. 클래스 init 속성 내에서 keyword 인자는 .get을 이용하여 값을 가져온다.

self.color = kwargs.get("color", "black") # 기본 지정 값
  1. 부모 클래스의 속성을 쓰고 싶다면 super를 써주면 된다.(자식 클래스에도 init을 선언했을 때)
super().__init()

  1. Class 실습해보기
  • 기본
class Person:
  def __init__(self, name, age, gender):
    self.name = name
    self.age = age
    self.gender = gender
  
  def greeting(self):
    print(f"안녕하세요. 저는 {self.name}이고 {self.age}살이며 {self.gender}입니다.")

Eric = Person("Eric", "30", "남성")
Eric.greeting()

print("이름 :", Eric.name)
print("나이 :", Eric.age)
print("성별 :", Eric.gender)

>>>안녕하세요. 저는 Eric이고 30살이며 남성입니다.
이름 : Eric
나이 : 30
성별 : 남성
  • 비공개 속성 사용
class Person:
  def __init__(self, name, age, gender, wallet):
    self.name = name
    self.age = age
    self.gender = gender
    self.__wallet = wallet
  
  def greeting(self):
    print(f"안녕하세요. 저는 {self.name}이고 {self.age}살이며 {self.gender}입니다.")
  
  def pay(self, amount):
    self.__wallet -= amount
    print(f"잔고가 {self.__wallet} 남았어요.")

Eric = Person("Eric", "30", "남성", 20000)
Eric.greeting()
Eric.pay(17000)

print("이름 :", Eric.name)
print("나이 :", Eric.age)
print("성별 :", Eric.gender)

>>>안녕하세요. 저는 Eric이고 30살이며 남성입니다.
잔고가 3000 남았어요.
이름 : Eric
나이 : 30
성별 : 남성

즉, 중요한 값인데 바깥에서 함부로 바꾸면 안될 때 비공개 속성을 주로 사용


  1. 정적 메서드와 클래스 메서드 모두 기존 클래스에서 인스턴스 속성을 사용하기 위해 (서로 다른 값 넣기) 인스턴스를 호출하는 것이 아닌 클래스에서 바로 호출하는 방법이다.(class 초반에 __init__ 하지 않고) #어렵다. 일단 이해한 수준까지만 하고 다음에 다시 보자.
profile
커피 내리고 향 맡는거 좋아해요. 이것 저것 공부합니다.

0개의 댓글