static 과 const 를 함께 사용하지 못하는 이유!

😎·2022년 12월 23일
0

CPP

목록 보기
25/46

static 과 const 를 같이 사용할 수 없는 이유...

const 함수의 의미

const 함수는 함수 내부에서 객체를 조작하지 못하게 방지하겠다 의미이다.

static 함수의 의미

근데 static 함수는 클래스에서 선언하지만, 클래스를 통해 생성한 객체에 구속되지 않는다.
10개의 객체를 생성하면 static 이 아닌 멤버 함수는 10개의 메모리를 차지하지만, static 함수는 하나의 메모리만 차지한다.

const와 static을 같이 사용하는 것은 말이 안됨

static 함수는 특정 객체에 구속되지 않는다.
const 함수는 객체를 조작하지 못하게 방지한다.

함수가 가리키는 객체가 특정지어지지 않는데(static), 객체를 조작을 방지하라는 것(const)은 어불성설!
즉, const 와 static 을 같이 사용하라는 말은 말이 안된다.

그렇다면 static 함수를 왜 클래스 내부에 선언해?

static 을 클래스 외부가 아닌, 멤버 함수로 사용하는 이유는 다른 클래스나 클래스 외부에 같은 이름의 함수가 있을 수 있기 때문이다.

profile
jaekim

0개의 댓글