class Member:
def __init__(self, id, pw): # ← 생성자
self.id = id
self.pw = pw
__init__입니다.self는 현재 생성 중인 인스턴스를 가리켜요.id, pw)을 인스턴스 변수(self.id, self.pw)에 저장합니다.📌 예:
member = Member("moon", "moon123")
→ 이 시점에 __init__() 생성자가 자동으로 호출됩니다.
def login(self, input_id, input_pw): # ← 메서드
...
self를 받습니다.| 용어 | 이름 | 설명 |
|---|---|---|
| 생성자 | __init__ | 객체가 생성될 때 자동 호출되는 특별한 메서드 |
| 메서드 | login 등 | 클래스 안에 정의된 일반적인 함수 |
| 인스턴스 변수 | self.id, self.pw | 객체가 가지고 있는 데이터 |
class Member:
def __init__(self, id, pw): # 생성자
self.id = id
self.pw = pw
def login(self, input_id, input_pw): # 메서드
if self.id == input_id and self.pw == input_pw:
print("로그인을 성공하셨습니다.")
else:
raise Exception("로그인에 실패했습니다.")
클래스는 설계도예요.
예를 들어 “회원”을 만들고 싶을 때, 회원을 어떻게 만들지 설계해둔 거예요.
class Member:
...
__init__)란?생성자는 객체를 만들 때 자동으로 실행되는 함수예요.
class Member:
def __init__(self, id, pw): # ← 이게 생성자!
self.id = id # ← 아이디 저장
self.pw = pw # ← 비밀번호 저장
member = Member("moon", "moon123")
이 줄을 실행하면 Python은 이렇게 생각해요:
“아~ Member 객체를 만들라고?
그럼__init__(생성자)을 자동으로 호출해야지!”
결과적으로 아래처럼 실행된 거예요:
member.__init__("moon", "moon123")
메서드는 클래스 안에 있는 함수예요.
객체가 어떤 동작을 할 수 있는지를 정의해요.
class Member:
def login(self, input_id, input_pw): # ← 이게 메서드!
...
login()이라는 메서드는 "이 회원이 로그인을 할 수 있게 하는 기능"이에요.
class Member:
def __init__(self, id, pw): # 생성자
self.id = id
self.pw = pw
def login(self, input_id, input_pw): # 메서드
if self.id == input_id and self.pw == input_pw:
print("로그인을 성공하셨습니다.")
else:
raise Exception("로그인에 실패했습니다.")
이제 이걸 써볼게요:
member = Member("moon", "moon123") # → 생성자 실행됨!
member.login("moon", "moon123") # → 메서드 실행됨!
| 이름 | 뜻 | 언제 실행되나요? |
|---|---|---|
__init__ | 생성자 | 객체를 만들 때 자동 실행 |
login | 메서드 (기능) | 내가 직접 호출할 때 실행 (member.login(...)) |