CS 공부

디자인 패턴 - 싱글톤 패턴(singleton pattern)

지댕댕 2023. 9. 2. 09:24
728x90

디자인 패턴이란 자주 사용하는 설계 형태를 정형화해서 이를 유형별로 설계 템플릿을 만들어둔 것을 말한다. 디자인 패턴을 사용하면 효율성과 재사용성을 높일 수 있다. 디자인 패턴으로 만들려면 유사한 프로젝트를 수행하면서 적용한 설계 노하우를 분류하여 정리하고 이름을 붙여, 나중에 초보자도 쉽게 재사용할 수 있도록 사용 지침 등도 포함하여 저장해놓아야 한다.

디자인 패턴은 알고리즘처럼 프로그램 코드로 변환하여 바로 사용할 수 있는 것은 아니지만 유사한 상황에서 구조적인 문제를 해결할 수 있는 방안을 제시해준다. 결국 디자인 패턴은 많은 개발자들이 경험으로 체득한 설계 지식을 검증하고 이를 추상하여 일반화한 템플릿이다.

프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 규약 형태로 만들어 놓은 것을 의미한다.

싱글톤 패턴

싱클톤 패턴은 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴이다. 하나의 클래스를 기반으로 여러 개의 개별적인 인스턴스를 만들 수 있지만, 그렇게 하지 않고 하나의 클래스를 기반으로 단 하나의 인스턴스를 만들어 이를 기반으로 로직을 만드는 데 쓰이며 보통 데이터베이스 연결 모듈에 많이 사용된다. 하나의 인스턴스를 만들어 놓고 해당 인스턴스를 다른 모듈들이 공유하며 사용하기 때문에 인스턴스를 생성할 때 드는 비용이 줄어드는 장점이 있다. 하지만 의존성이 높아진다는 단점이 있다.

728x90