💡 static 멤버 변수, static 멤버 함수, const 멤버 변수, const 멤버 함수
static 멤버 변수와 기존 멤버 변수는 무슨 차이가 있을까?
멤버 함수는 static으로 선언하면, 특정 객체에 속한 멤버 함수가 아닌 클래스 자체에 속한 멤버 함수이므로, 객체를 생성하지 않고 클래스명을 이용하여 호출하는 것이 가능해진다.
ClassName::methodName();
static 멤버 함수는 static 멤버 변수만 사용 가능하다.
const 멤버 변수는 한 번 초기화되면 데이터의 변경이 불가능하다. 보통 클래스 전체에서 공유되고, 값이 변경되면 안되는 변수의 경우 const키워드를 붙여 안정성을 높인다.
const(상수) 변수는 선언과 동시에 초기화가 이루어져야 하므로, 생성자 중 이니셜라이저를 통해서만 초기화가 가능하다.
const 멤버 함수는 상수 함수와 마찬가지로 호출한 객체의 데이터를 변경할 수 없는 멤버 함수이다. 즉, const 키워드가 붙은 함수는 클래스 내부의 멤버 변수를 변경시킬 수 없음.