const 객체와 const 객체의 특성들

const int num=10; //변수 상수화
const SoSimple sim(20); //객체 상수화

이렇게 객체에 const 선언이 붙게되면, 이객체를 대상으로는 const 맴버함수만 호출이 가능하다, 이는 객체의 const선언이 다음의 의미를 갖기 때문이다.

“이 객체의 데이터 변경을 허용하지 않겠다!”

const와 함수 오버로딩

함수의 오버로딩이 성립하려면 매개변수의 수나 자료형이 달라야 한다. 하지만 다음과 같이 const의 선언유무도 함수 오버로딩의 조건에 해당이 된다.

void SimpleFunc(){}
void SimpleFunc() const {}