객체 지향 프로그래밍이란?객체를 만드는 법__init__ 메소드

Q

initialize와 __init__ 차이

조회 536

좋아요 0

2021년 4월 14일

안녕하세요.


이전에 initialize로 정의했을 때는

def initialize(self, name, email, password):

아래 2가지 방법으로 다 초기화가 됐는데,

user1.initialize("Young", "young@codeit.kr", "123456")

User.initialize(user3, "Taeho", "taeho@codeit.kr", "123abc")


__init__으로 정의하면

def __init__(self, name, email, password):

위 2가지 방법이 안되고 아래 경우만 초기화 되는 것 같네요.

user1 = User("Young", "young@codeit.kr", "123456")


initialize 에서 __init__ 으로 정의한 것만 바뀌었는데,

초기화하는 방법(인스턴스 메소드 사용법)까지 바뀐 것 같습니다.

이 부분이 잘 이해가 안되는데 special (magic) method에서는 왜 이렇게 사용해야 하는지 설명부탁드립니다.

initialize와 __init__ 차이
A
1개의 답변이 있어요

initialize는 메소드를 통해서 생성시키는 방법에 대해 간략하게 배운 것이고 실제 생성자는 __init__에 정의해놓고 생성할 땐 클래스명에 ()를 붙이고 () 안에는 적절한 파라미터를 넣어서 인스턴스를 생성합니다.


왜 사용해야 하는지라기 보단 원래 그러한 방법인데 아마 설명을 쉽게 하시려고 메소드로 먼저 만들어서 보여준 다음 공식적인 방법을 설명해주신게 아닐까 생각합니다.

2021년 4월 14일

(주) 코드잇

대표강영훈

개인정보보호책임자강영훈

이메일support@codeit.kr

사업자 번호313-86-00797

통신판매업제 2019-서울중구-1034 호

주소서울특별시 중구 청계천로 100 시그니쳐타워 동관 10층 코드잇