[C++] 자신의 클래스 안에서 생성자를 호출하는 이유..?
글쓴이: guriis / 작성시간: 수, 2004/08/11 - 10:28오전
안녕하세요..
프로그램 소스를 보다 궁금한점이 있어 이렇게 질문을 드립니다.
class ClassA { public: static ClassA *New(); protected: ClassA(); ..... }
위와 같이 생성자를 protected 에 들어가 있습니다.
그리고 이 클래스를 생성할때에는 static 함수인 New 를 통해서 ClassA 를 생성한후 포인터 값을 넘겨 줍니다.
그런데, 굳이 static 함수를 통해서 생성하는 이유가 무엇인지를 알고 싶습니다.
감사합니다.
Forums:
혹시 ... 하신 protected에 static instance
혹시 ... 하신 protected에
static instance가 있지 않았나요?
singleton으로 보입니다만...
singleton이 맞다면... 유명한 Design Pattern이니
검색해보시면 많이 나올 듯...
간단하게... class에 대한 접근점을 하나만 만들겠다는 거죠.
new라는 함수를 불렀을때 instance가 없으면 생성해서 리턴하고,
만약 만들어둔게 있다면 그것을 리턴하는 방식으로 말이죠.
static 을 사용하는건
global access point로 만들기 위해서입니다.
IAMCLASS myInstance = IAMCLASS.getInstance();
보통 이런식으로...
** 아.. 다시 보니 instance가 없어서 의아해 하시는 것 같군요. :o
New 함수를 보여주시면 여러분들이 답변해 드리는데 도움이 될 듯 합니다. :)
-------------------------
The universe is run by the complex interweaving of three elements: matter, energy, and enlightened self-interest.
- G'kar, Babylon 5
1. object가 ㅤㅎㅣㅍ에 있다는 것을 보증하기 위해.2. 조건에
1. object가 ㅤㅎㅣㅍ에 있다는 것을 보증하기 위해.
2. 조건에 따라 다른 class의 instance를 생성하기 위해.
저는 이정도가 생각나네요.
댓글 달기