싱글톤[싱글턴]
의도 : 오직 한 개의 클래스 인스턴스만을 갖도록 보장하고 이에 대한 전역적인 접근점을 제공.
활용성 : 클래스의 인스턴스가 오직 하나여야 함을 보장하고, 잘 정의된 접근접 으로 모든 사용자가
접근할 수 있도록 해야 할 때,
유일한 인스턴스가 서브 클래싱으로 확장되어야 하며, 사용자는 코드의 수정 없이 확장된
서브클래스의 인스턴스를 사용할 수 있어야 할 때.
서브클래스의 인스턴스를 사용할 수 있어야 할 때.
결과 :
1. 유일하게 존재하는 인스턴스로의 접근을 통제
2. 이름 공간을 좁힘.
3. 연산 및 표현의 정제를 허용.
4. 인스턴스의 개수를 변경하기가 자유로움.
1. 유일하게 존재하는 인스턴스로의 접근을 통제
2. 이름 공간을 좁힘.
3. 연산 및 표현의 정제를 허용.
4. 인스턴스의 개수를 변경하기가 자유로움.
5. 클래스 연산을 사용하는 것보다 훨씬 유연한 방법임.
본인이 이해한 방법 : 다른 코드를 본다 -> 대체 무슨 용돈지 존나 열심히 본다 -> 알아낸다.
참 쉽죠. 솔까말 저리 말해줘도 그냥 짜여있는 코드 보고 연관성 유추해서 깨닫는게 전 이해하기가 더 빠른 것 같습니다. 퍽썩
---- 싱글턴 코드 [ 코드 출처 : http://harmonize84.tistory.com/12 ] ----
다른 완성되어있는 코드를 본 바로 내 나름의 이해를 하자면...
어떠한 다른 클래스에서 사용된 함수를 또다른 함수에서 사용하기 전에 싱글턴을 사용하여 옵션을?
정해주면 에러 없이 잘 가져다 사용할 수 있다는 것.
이 싱글턴 은 cpp에서 는 참조하지 않으며 오직 헤더에서 헤더로만 참조된다.
또한 싱글턴은 cpp파일을 가지지 않는다. 즉 위에 있는 코드가 싱글턴 전부.[물론 싱글턴은 꼭 저렇게만 짜야하는건 아니다.]
어떠한 다른 클래스에서 사용된 함수를 또다른 함수에서 사용하기 전에 싱글턴을 사용하여 옵션을?
정해주면 에러 없이 잘 가져다 사용할 수 있다는 것.
이 싱글턴 은 cpp에서 는 참조하지 않으며 오직 헤더에서 헤더로만 참조된다.
또한 싱글턴은 cpp파일을 가지지 않는다. 즉 위에 있는 코드가 싱글턴 전부.[물론 싱글턴은 꼭 저렇게만 짜야하는건 아니다.]
막간 단어.
인스턴스 [ instance ]
①일반적으로 어떤 집합에 대해서, 그 집합의 개별적인 요소. 객체 지향 프로그래밍(OOP)에서,
어떤 등급에 속하는 각 객체를 인스턴스라고 한다. 예를 들면 ‘목록(list)’이라는 등급을
정의하고 그 다음에 ‘본인 목록(my list)’이라는 객체를 생성(기억 장치 할당)하면 그 등급의
인스턴스가 생성된다. 또한 변수가 포함되어 있는 어떤 논리식의 변수에 구체적인 값을 대입하여
식을 만들면 원래 식의 인스턴스가 만들어진다. 이런 의미에서 인스턴스를 실현치라고 한다.
출처 : 한국 정보 통신 기술 협회
'공부 > C++' 카테고리의 다른 글
#ifndef 란 무엇인가 / 사용하는 방법. (0) | 2012.02.23 |
---|---|
error LNK2019 에러의 경우 (0) | 2012.02.14 |
포인터 타입의 연산 (2) | 2012.01.20 |
콤보박스 사용 함수. GetLBText (0) | 2011.12.29 |
C++ 객체지향 프로그래밍 Chapter 22 상속과 포함 - 2 (0) | 2011.12.20 |