python
으로 LinkedList
를 자료구조를 구현해보라고?note
python
으로 클래스를 만드는 법은 확인했다. 그럼 어떻게 객체를 초기화하고, 어떻게 삭제하는 거지? Check! Check!
__init__(self)
self
이다.class Person:
def __init__(self, name, age):
self.name = name
self.age = age
tom = Person('Tom', 20)
self
는class
가 아닌object
를 나타낸다.
__del__(self)
self
이다.class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __del__(self):
print('bye! bye! ' + self.name)
tom = Person('Tom', 20)
del tom
Output
Bye! Bye! Tom
ptyhon
에서는 생성자 함수와 초기화 함수가 분리되어 있다고 한다.
__init__
은 초기화 함수__new__
는 생성자 함수별거 없지 않나, 그냥 메모리를 할당하는 부분과 변수를 초기화 하는 부분이 다른 언어와 다르게 분리되어 있다는 것! 근데 문법을 보면 이해가 간다.
### 파이썬에서 객체 생성하기
tom = Person('Tom', 20)
// JAVA에서 객체 생성하기
Person tom = new Person("Tom", 20);
JAVA
에서 보는 뚜렷한 new
키워드!
JAVA
문법을 풀어보면
new
메모리를 할당하라!Person("Tom", 20)
변수를 초기화 하라!