달력

12

« 2018/12 »

  •  
  •  
  •  
  •  
  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
  •  
  •  
2010.03.24 15:14

static 프로그래밍/C++2010.03.24 15:14







static, 지역변수로 선언되어 있는 변수를 전역 변수처럼 사용한다.

C++, 클래스에서 사용하는 static은 크게 2가지 특징을 가지고 있는데

첫번째로 public안에 선언된 멤버 변수에 static을 붙히면 전역 변수처럼 사용이 가능하다.
(main 함수가 호출 되기 이전에 메모리 공간에서 초기화가 되기 때문이다.)




두번째로 static 멤버 변수는 멤버에 존재 하는 것이 아니다.
단지 여러 클래스에서 접근 할 수 있는 권한만이 부여된 것이다.


그렇다고 만약 BBB라는 클래스가 있다고 하였을때,
AAA의 static a를 접근하여 수정할 수 있는것은 아니다.
static a 는 엄연히 AAA클래스의 private 선언 이기 때문이다.
보통 이는 나중에 디자인 패턴에서 나오는 싱글턴 패턴에서 많이 쓰이게 되는데.
개념은 간단하다.

결과 화면

단 1개의 객체만으로 값을 접근 하는 것을 확인 할 수 있다.

최종 정리

'프로그래밍 > C++' 카테고리의 다른 글

public: private: 그리고 protected:  (0) 2010.03.24
explicit, mutable  (0) 2010.03.24
static  (0) 2010.03.24
멤버 이니셜 라이저(member initializer)  (0) 2010.03.23
복사 생성자, 디폴트 생성자 그리고 디폴트 복사 생성자.  (0) 2010.03.21
friend  (0) 2010.03.21
Posted by 안식의후크