객체의 시작과 끝, 행동을 정의하는 방법
파이썬에서 클래스는 객체를 만드는 설계도입니다.
이번 수업에서는 클래스의 구성 요소인 생성자
, 소멸자
, 메서드
에 대해 알아보겠습니다.
객체의 시작을 정의하는 생성자
생성자(Constructor)
는 객체가 만들어질 때 자동으로 호출되는 메서드입니다.
파이썬에서 생성자는 __init__
으로 정의하며, 객체가 생성될 때 필요한 초기값을 설정합니다.
생성자 정의
class Car: # 생성자 정의 def __init__(self, brand, model, year): # 객체의 속성 설정 self.brand = brand self.model = model self.year = year print(f"{self.brand} {self.model} 생성") # 브랜드 'Lamboo', 모델 'Avent', 연식으로 2021인 자동차 객체 생성 lambo = Car("Lamboo", "Avent", 2021) # 출력: Lambo Avent 생성 # 브랜드 'Tesli', 모델 'Model Z', 연식으로 2023인 자동차 객체 생성 tesla = Car("Tesli", "Model Z", 2023) # 출력: Tesli Model Z 생성
__init__
코드를 통해 Car
객체가 생성될 때마다 자동차의 브랜드, 모델, 연도가 설정되며, 브랜드와 모델이 출력됩니다.
객체의 끝을 정의하는 소멸자
소멸자(Destructor)
는 객체가 소멸될 때 호출됩니다.
파이썬에서는 __del__
로 정의하며, 주로 객체가 삭제될 때 정리하는 작업을 수행합니다.
소멸자 정의
class Car: # 소멸자 정의 def __del__(self): # 객체가 소멸될 때 출력 print(f"{self.brand} {self.model}가 소멸됨")
객체의 행동을 정의하는 메서드
메서드(Method)
는 객체가 수행할 행동을 정의합니다.
주로 객체의 상태를 변경하거나 특정 기능을 수행합니다.
메서드 정의
class Car: def __init__(self, brand, model, year): self.brand = brand self.model = model self.year = year def start_engine(self): print(f"{self.brand} {self.model}의 엔진 시동") def change_year(self, year): self.year = year print(f"{self.brand} {self.model}의 연식을 {year}로 변경") # 브랜드 'Lamboo', 모델 'Avent', 연식으로 2021인 자동차 객체 생성 lambo = Car("Lamboo", "Avent", 2021) # 출력: Lamboo Avent의 엔진 시동 lambo.start_engine() # 출력: Lamboo Avent의 연식을 2023으로 변경 lambo.change_year(2023)
위 코드에서 start_engine
메서드는 자동차의 엔진을 켜는 기능을 표현하며, change_year
메서드는 자동차의 연식을 변경합니다.
메서드를 정의할 때 포함되는 self
는 해당 메서드를 호출한 객체 자신을 가리키며, 메서드를 정의할 때 반드시 포함되어야 합니다.
Mission
0 / 1
다음 문장에서 빈칸에 들어갈 적절한 단어를 고르세요.
파이썬에서 클래스의 객체가 생성될 때 호출되는 메서드는 입니다.
소멸자
메서드
생성자
속성
가이드라인
AI 튜터
배포
디자인
업로드
수업 노트
즐겨찾기
도움말
코드 에디터
코드 실행
코드 생성
실행 결과