c++

C++ 개인 필기(12) static

Voitcon 2024. 2. 13. 18:26

struct vs class

c++ 에서 struct, class 는 종이 한장 차이

struct는 기본 접근 지정자= public, class 는 private

왜? c++은 c언어에서 파생되어 발전해서 호환성을 지키기 위해서..

struct는 그냥 구조체(데이터 묶음) 표현

class 객체 지향 프로그래밍의 특징

static 변수 -> 정적=고정된, 

공통적으로 모든 객체가 같은 값을 가지면..

warrior, attack=1

static int attack; ->클래스 밖에 빼는 느낌 (전역 변수)

AActor::attack=1; -> 외부선언

누구나 동일한 공격을 가진다.

-> warrior 클래스의 종속적

 

함수에 static일때 초기화 하면 .data, 안하면 .bss 영역

static -> 생명주기는 프로그램 시작/ 종료(메모리에 항상 올라가 있음) 가시범위(내부에서만 사용 가능)