C++

[C++]static 키워드

programmer-faust 2025. 9. 3. 04:44
  • 순서
    1. static 키워드란?
    2. 함수에서의 static 키워드
    3. 클래스에서의 static 키워드
    4. 변수에서의 static 키워드
    5. static 키워드를 사용하는 이유
  • static 키워드란?
    1. static 키워드는 사용되는 위치에 따라 의미가 달라지며 크게 함수, 클래스, 변수 3가지정도 존재함
  • 함수에서의 static 키워드
    1. 함수 내부의 static 지역 변수: 함수 호출이 끝난 후에도 값이 소멸되지 않고 다음 호출 시까지 유지됨
    2. 전역 static 함수: 해당 함수가 정의된 소스 파일 내에서만 접근 가능하게 하여, 다른 파일에서 동일한 이름의 함수와 충돌하는 것을 방지함.
  • 클래스에서의 static 키워드
    1. 정적 멤버 변수: 클래스의 모든 객체가 공유하는 변수로, 클래스 인스턴스 생성과 무관하게 메모리를 차지하며 클래스 이름으로 직접 접근할 수 있음
    2. 정적 멤버 함수: 특정 클래스의 인스턴스와 관계없이 클래스 자체에 속하는 함수로 인스턴스 없이도 호출할 수 있으며, static 멤버 변수에 접근할 수 있음
  • 변수에서의 static 키워드
    1. 지역적인 전역 변수: static으로 선언된 전역 변수는 해당 소스 파일에서만 접근 가능하며, 다른 파일에서 직접 접근할 수 없음. => 코드의 모듈화를 도움
  • static 키워드를 사용하는 이유
    1. 수명유지: 함수나 변수가 프로그램이 실행되는 동안 계속 유지되어야 할 때 사용함
    2. 공유: 클래스의 모든 인스턴스가 동일한 데이터를 공유해야 할 때 사용함
    3. 접근제한: 특정 파일 내에서만 사용되어야 하는 함수나 변수의 가시성을 제한하여 캡슐화를 강화하고 코드 충돌 방지

'C++' 카테고리의 다른 글

[C++] 가상 함수  (0) 2025.09.03
[C++]const 키워드  (0) 2025.09.03
[C++] 캐스트 연산자/RTTI  (0) 2025.09.03
[C++] malloc/free와 new/delete  (0) 2025.09.03
[C++]동적할당과 깊은/얕은 복사  (0) 2025.09.03