본문 바로가기

전체 글

(65)
Python 싱글턴 패턴(Singleton Pattern), 반복자 패턴(Iterator Pattern), 데코레이터 패턴(Decorator Pattern) 디자인 패턴이란? 디자인 패턴이란, 소프트웨어 개발에서 반복적으로 발생하는 문제에 대한 해결책을 제공하는 일종의 템플릿이다. 이러한 패턴들은 개발자들이 공통된 문제를 해결하기 위해 검증된 방법을 활용할 수 있도록 도와준다. 디자인 패턴은 특정한 상황에서 특정한 목적을 달성하기 위해 소프트웨어 디자인을 조직화하고 구조화하는 방법을 제시한다. * 디자인 패턴의 장점 디자인 패턴을 사용하면 유지보수가 용이하고, 코드 가독성, 코드 재사용성, 확장성이 향상되는 등 다양한 장점이 있다. * 디자인 패턴의 종류 싱글턴 패턴(Singleton Pattern), 멀티턴 패턴(Multiton Pattern), 반복자 패턴(Iterator Pattern), 팩토리 패턴(Factory Pattern) 등 다양한 디자인 패턴..
Python 스페셜 메서드 len, getitem, iter, str, repr, new 스페셜 메서드(Special Method)란? 스페셜 메서드란, 더블 언더스코어(__)로 시작하고 끝나는 메서드 Dunder Method(double underscore method)라고도 불린다. 특별한 기능을 수행하며, Python 인터프리터에 의해 특정한 시점 또는 상황에서 자동으로 호출된다. 클래스의 특정 동작을 커스터마이즈할 수 있게 해준다. 이제 대표적인 스페셜 메서드와 예제 코드를 설명한다. __len__ __len__() 메서드는 객체 속성에 대해 그 길이를 반환하는 스페셜 메서드다. class Sentence: def __init__(self, sentence): self.sentence = sentence def __len__(self): return len(sentence) s = S..
Python 클래스, 객체 객체 지향 프로그래밍(Object-oriented Programming) * 클래스의 필요성 클래스는 객체 지향 프로그래밍의 핵심이 되는 부분이다. 우선, 클래스를 사용하지 않게 되면 어떠한 단점이 있는지 살펴보자. 중복 코드의 제거 → 함수로 해결 가능 데이터 간의 관련성 명시 → 컬렉션(리스트, 딕셔너리 등)으로 해결 가능 위 2가지 단점 모두 함수와 컬렉션으로 극복할 수 있다. 하지만 함수와 데이터 컬렉션 사이의 관련성을 명시하기 위해서는 클래스가 반드시 필요하다. 클래스는 데이터와 함수를 하나로 묶을 수 있도록 한다. * 클래스와 객체 클래스는 붕어빵틀, 객체는 붕어빵이라고 생각하면 이해가 쉽다. Python 클래스 선언 방법 class MyBlog: count = 0 # 클래스 속성. 객체의 수..