클래스 필요 이유
- Python 클래스는 객체 지향 프로그래밍의 핵심 개념
- 속성과 동작을 묶어서 하나의 새로운 자료형처럼 정의 가능
클래스 기본 구조
기본 구조
class 클래스이름:
// 생성자 (객체를 만들 때 자동으로 실행)
def __init__(self, 속성1, 속성2):
self.속성1 = 속성1
self.속성2 = 속성2
// 메시지 (객체의 동작)
def 메서드이름(self):
return f"{self.속성1}과 {self.속성2}를 사용합니다."
학생 클래스
class student:
// 생성자
def __init__(self, name, age):
self.name = name
self.age = age
// 학생 자기소개 메서드
def introduce(self):
print(f"안녕하세요, 저는 {self.name}이고, {self.age}살 입니다.")
s1 = Student("현호", 22)
s2 = Student("현호2", 21)
self
- 클래스 안에서 정의된 메서드는 항상 첫 번재 인자로
self를 받음
self는 해당 메서드를 호출한 객체 자신을 참조
- 그래서
self.변수 로 객체 고유의 데이터를 저장하거나 불러올 수 있음

생성자
- 생성자(constructor)란 객체가 생성될 때 자동으로 호출되는 메서드
- 파이썬 메서드명으로
__init__ 를 사용하면 해당 메서드는 생성자가 됌
예시