TIL (Today I Learned)

[기초] Singleton Pattern

프리랜서가 들려주는 IT세계 2019. 8. 30. 15:26
반응형

※코딩에도 디자인 패턴이라고 들어는 보았나요?

개발하면서 무작정 날코딩으로 작성하는 것보단, 패턴에 의해서 작성한다면, 다른 사람들과의 커뮤니케이션에도 도움이 될 뿐더러, 협업을 하는데 낭비되는 시간들을 줄일 수 있다고 생각합니다.


Singleton pattern 들어는 보았는가?

싱글톤(singleton)이란?

  • Application이 시작될 때, 어떤 클래스가 최초 한번만 메모리를 할당하고(Static) 그 메모리에 인스턴스를 만들어 사용하는 디자인패턴이다. 즉, 불필요한 메모리 참조를 줄이고자 만든 패턴이다.

  • 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나고, 생성 이후 호출된 생성자는 최초에 생성한 객체를 반환한다.

싱글톤을 쓰는 이유?

  • 고정된 메모리 영역을 얻으면서 한번의 new로 인스턴스를 사용하기 때문에 메모리 낭비를 방지가능하다
  • 싱글톤으로 만들어진 클래스의 인스턴스는 전역이므로 다른 클래스의 인스턴스들이 데이터를 공유가 Easy~하다
  • DBCP (DataBase Connection Pool) 처럼 공통된 객체를 여러개 생성해서 사용해야하는 상황에서 많이 Use~한다

그러나~ 문제점도 또한 있다~^^

 

문제점

  • 싱글톤 인스턴스가 너무 많은 일을 하거나 많은 데이터를 공유시, 다른 클래스의 인스턴스들 간에 결합도가 높아져, 객체 지향 설계 원칙을 위배된다.

더 많은 내용을 알고 싶다면 직접 연습해보는 것도 좋다.

링크 : https://www.tutorialspoint.com/design_pattern/singleton_pattern.htm

 

Design Pattern - Singleton Pattern

Design Pattern - Singleton Pattern Advertisements Singleton pattern is one of the simplest design patterns in Java. This type of design pattern comes under creational pattern as this pattern provides one of the best ways to create an object. This pattern i

www.tutorialspoint.com

위 사이트를 들어가면 더 많은 정보들이 있습니다~

반응형