기타/What I Learned

[TIL] 객체

가죽방패 2022. 1. 4. 14:57

※ 객체의 생성

- 객체(object)를 생성하려면 클래스가 반드시 정의되어 있어야 한다. 함수를 호출하기 위해서 함수를 정의해야 하는 것과 비슷한 이치라고 볼 수 있다.  다음 코드는 아주 간단한 클래스를 정의한다.

class House():
	pass

House 라는 클래스를 만들었는데 내용을 pass 로 만들어 빈 클래스와 다름이 없다. 하지만 클래스라면 비어 있더라도 언제든지 객체를 생성할 수 있는데 객체를 생성할 때는 "클래스명()" 으로 하면 된다.

 

○ 객체의 초기화(__init__와 self)

- 객체가 어떤 모습인지는 전적으로 클래스에 달려 있기 때문에 클래스의 정의에서 조치가 취해져야 한다.

__init__ 메소드는 클래스의 인스턴스가 생성된 직후에 자동으로 호출되는 메소드인데 해당 메소드를 호출하는 주체는 생성된 인스턴스다. 또한 이는 생성자(constructor)라고도 불린다.

C++ 이나 Java를 해봤다면 알겠지만 this 라는 키워드는 여기서 self와 같은 역할을 한다. self는 현재 메소드를 호출한 객체가 self다. 파이썬에서 객체를 초기화 한다는 것은 객체(self)의 이름공간에 속성을 등록하고 속성값을 초기화한다고 볼 수 있다.

'기타 > What I Learned' 카테고리의 다른 글

[TIL] 메소드  (0) 2022.01.07
[TIL] 속성  (0) 2022.01.06
[TIL] 객체지향과 클래스  (0) 2022.01.03
[TIL] 패키지 사용을 위해 알아야 할 것들  (0) 2022.01.02
[TIL] 패키지  (0) 2022.01.01