회원가입-생성자

문건희·2025년 5월 31일

회원가입

목록 보기
1/8

✅ 생성자(Constructor)

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__() 생성자가 자동으로 호출됩니다.


✅ 그 외의 함수: 메서드(Method)

    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(...))

0개의 댓글