1. Class: 부류, 공통점이 많은 것들을 묶어냄

    • 객체(Object) 만드는 데 있어 편함

    • Class 정의하기

      • 아무런 속성(attribute)도 가지고 있지 않을 때

        class Car:
          pass
      • 속성을 가지고 있을 때: __init__이라는 special method를 사용함

        class Car:
         def __init__(self, maker, model):
             self.maker = maker
             self.model = model
      • maker, model 이외에 self라는 parameter를 가져감

        • self는 JavaScript의 this와 비슷한 역할
      • method도 Class에 정의할 수 있음

      class Database:
        def __init__(self, name, size):
          self.name = name
          self.size = size
          self.dict = { }
      
        def insert(self, field, value):
          if (len(self.dict) < self.size):
            self.dict[field] = value
      
        def select(self, field):
          for key in self.dict:
            if key == field:
              return self.dict[key]
          return None