const 함수는 함수 내부에서 객체를 조작하지 못하게 방지하겠다 의미이다.
근데 static 함수는 클래스에서 선언하지만, 클래스를 통해 생성한 객체에 구속되지 않는다.
10개의 객체를 생성하면 static 이 아닌 멤버 함수는 10개의 메모리를 차지하지만, static 함수는 하나의 메모리만 차지한다.
static 함수는 특정 객체에 구속되지 않는다.
const 함수는 객체를 조작하지 못하게 방지한다.
함수가 가리키는 객체가 특정지어지지 않는데(static), 객체를 조작을 방지하라는 것(const)은 어불성설!
즉, const 와 static 을 같이 사용하라는 말은 말이 안된다.
static 을 클래스 외부가 아닌, 멤버 함수로 사용하는 이유는 다른 클래스나 클래스 외부에 같은 이름의 함수가 있을 수 있기 때문이다.