베이직 파이썬(Python)- 객체와 클래스

안녕하세요 jay입니다.
오늘은 객체와 클래스, 그와 관련된 여러 가지 개념들에 대해
알아보도록 하겠습니다!




객체(붕어빵)

실제로 존재하는 것, 책상, 의자, 자동차와 같은 사물들을
객체라고 합니다.
a = Car() # a는 객체

클래스(붕어빵 틀)

객체를 여러 개 만들기 위한 틀입니다.
컴공에서 객체에 대한 가장 유명한 비유 붕어빵과 붕어빵틀로 생각하면
붕어빵 틀, 즉 클래스로 붕어빵, 객체를 생성합니다.
class Car: # Car는 클래스
pass

인스턴스(Instance)

클래스에 의해서 만들어진 객체를 인스턴스라고 합니다.
a = Car() 이렇게 만들어진 a는 객체입니다.
그리고 a라는 객체는 Car의 인스턴스입니다.
즉, 인스턴스는 특정 객체 a가 어떤 클래스의 객체인지를
관계위주로 설명할 때 사용됩니다.
"a는 인스턴스" 보다는 "a는 객체"
"a는 Car의 객체입니다" 보다는 "a는 Car의 인스턴스입니다" 라는 표현이 어울립니다.

메소드 vs 함수

"메소드와 함수가 같다"라고 생각하실진 모르겠지만
사실 명확히 다릅니다.
메소드는 클래스 내에 선언된 함수입니다.
class Car: # Car는 클래스
def drive(self): # 메소드
print("부우우웅")
def drive2(): # 함수
print("부우우웅")

생성자(Constructor)

객체가 생성될 때 자동으로 호출되는 메소드입니다.
객체의 초깃값을 설정해줍니다.
class Car:    # Car는 클래스
    def __init__(self, name):    # 생성자
        self.name = name    # 객체 값 초기화

    def show(self):
        print(self.name)

a = Car("Bently") # 객체 생성
a.show()    # Bently 출력

댓글