싱글턴 패턴 응용
·
[CS] - Design Pattern
이번 포스트는 파이썬으로 작성한점 양해 부탁드립니다.아래의 포스트를 읽고 오는 것을 권장한다.https://dev-ryuon.tistory.com/53" data-og-host="dev-ryuon.tistory.com" data-og-source-url="https://dev-ryuon.tistory.com/53" data-og-image="https://blog.kakaocdn.net/dna/GlOxB/hyK7uIixdH/AAAAAAAAAAAAAAAAAAAAAPdDmZ3q6EHTA9GiBf-2RQ-1nOe1MlNsfMJTcAJaCNr2/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1767193199&allow_ip=&allow_referer=&signature=3vtP70KBpL0ZFuyOcHQvsNloXNk%3D data-og-url="https://dev-ryuon.tistory.com/53"> # 17. __new__() 와 __init__()파이썬을 다루면서 클래스..
Python 객체의 생명 주기와 메모리
·
[Language] - Python
개요어떤 언어든 마찬가지이지만, 비즈니스 로직을 구현할 때 메모리 관리에 신경 쓰지 않으면 메모리 누수(Memory Leak) 현상이 발생할 수 있다. 이는 시스템 성능 저하로 이어질 수 있으며, 특히 규모가 커질수록 바늘 찾기(needle in haystack)처럼 문제의 원인을 찾기 어려워질 수 있다. 따라서 초기 단계부터 단위 테스트와 함께 메모리 관리에 신경 써야 할 부분이기도 하다.C 언어는 malloc(), free()로 메모리를 직접 관리해야 하지만, Python은 Java처럼 가비지 컬렉터(GC)가 객체의 메모리를 자동으로 수거해주기 때문에 개발자는 비즈니스 로직에 더 집중할 수 있다. 하지만 객체 간 복잡한 참조가 발생할 경우, 개발자가 인지하지 못한 곳에서 객체가 메모리에서 제대로 해제..
정적 메소드 staticmethod, classmethod, instancemethod
·
[Language] - Python
개요이번에는 파이썬의 메소드 3종류를 알아보겠다. @staticmethod, @classmethod 데코레이터를 메소드 위에 작성하면 해당 메소드는 정적 메소드로 분류된다. 데코레이터를 사용하지 않으면 instancemethod에 해당된다. 정적 메소드는 인스턴스를 생성하지 않아도 호출이 가능하다. 즉, self 키워드를 사용하지 않아도 정의할 수 있으며, 인스턴스가 아닌 클래스 자체에 종속된 멤버이다. @staticmethodclass A: num = 10 @staticmethod def plus(x): return x + A.numplus() 메소드의 return 값을 확인해보면 해당 메소드는 자신의 멤버(속성 및 메소드)를 참조할 방법이 없기 때문에 직접 클래스명(A...