
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) 변수를 초기화 하라!