반응형
Static Function (정적 함수)
- .cpp 파일내에 선언 및 정의가 함께 있으며, .cpp 파일내에서만 사용가능
Static Member Function (정적 멤버 함수)
- C++ 에서는 클래스의 멤버 함수또한 정적으로 선언 가능
- static member function은 클래스의 객체를 생성하지 않고도, 클래스 이름만으로 호출 가능
- 객체를 생성하지 않으므로, this 포인터를 가지지 않음
- 특정 객체와 결합하지 않으므로, 정적 멤버 변수 밖에 사용할 수 없음ex1)
위 그림에서 보이는것처럼 nonstatic member function 에서는 비정적멤버 변수, 정적 멤버변수 둘다 접근 가능하다.
그러나
Static Member Function(정적 멤버 함수) 에서는, 비정적멤버 변수에 접근할려고 할경우 에러가 뜬다
따라서 오직 정적 멤버 변수(static member variable)만 접근이 가능하다
또한 private 인경우, static 이라 할지라도, 클래스 외부에서 사용 불가능하다
private: static member function |
클래스 스코프 내부에서만 사용가능 |
public: static member function |
클래스 스코프 내부 및 외부에서 객체 생성하지 않고 사용가능 |
static function |
.cpp 파일 내에서만 사용가능, 단 선언과 정의 |
반응형
'C++' 카테고리의 다른 글
c++ Singleton Pattern 기본 구현 방법 (0) | 2020.03.03 |
---|---|
const (0) | 2020.02.29 |
CopyConstructor, Shallow Copy, Deep Copy (0) | 2020.02.24 |
std::function (c++ 11) (0) | 2020.02.23 |
Input Output library (0) | 2020.02.21 |