pbj0812의 코딩 일기

[PYTHON] __init__ 본문

ComputerLanguage_Program/PYTHON

[PYTHON] __init__

pbj0812 2019. 8. 28. 01:37

1. __init__

class Member:
	
	def __init__(self,id, pwd):
		self.id = id
		self.pwd = pwd
		
	def getId(self):
		print self.id, self.pwd
		
test = Member("pbj", 123)
test.getId()

 - __init__ 메소드는 주로 클래스를 통해 새로운 인스턴스를 생성할 때 세부 정보를 입력 하기 위하여 사용한다.

 - 위 예제를 보면 test 라는 새로운 인스턴스에 Member 클래스를 부르는데, 이때 id와 pwd를 같이 입력해 주는 것을 볼 수 있다.

 

2. 사용하는 이유

class Member2:
	
	def setId(self, id, pwd):
		self.id = id
		self.pwd = pwd
		
	def getId(self):
		print self.id, self.pwd
		
test = Member2()
test.setId("pbj", 123)
test.getId()	

 - 그러면 왜 쓰는지 보도록 하자.

 - 1.에서의 예제와 지금의 예제는 동일한 결과를 나타내며, 단지 __init__ 의 사용유무에 대한 차이만 있다.

 - 클래스 내부에서의 차이는 단지 __init__이 setId로 쓰였다의 차이 밖에 없다.

 - 하지만, test 인스턴스 생성시 __init__을 사용하였을때는 클래스 호출과 동시에 id와 pwd에 대한 정보를 입력해 준 것과는 달리 클래스 호출 이후 setId를 통해 지정해주는 것을 알 수 있다.

 - 결과적으로 사용하였을 때 코드가 짧아질 수 있고, 또한 인스턴스 생성시에 정보를 입력하기 때문에 사용자의 실수를 줄일수도 있다.

Comments