항목 53 : 컴파일러 경고를 지나치지 말자 프로그래밍을 하다보면 컴파일은 정상적으로 되지만 컴파일러 경고가 나오는 경우가 있다. 이때 이러한 경고는 무시하지말고 무엇을 말하고 있는지를 살펴보아야한다. 대부분의 컴파일러 경고는 문법상 문제는 없지만 코드의 맥락이 직관적인 부분과 다르게 동작할 때 발생한다. 예를 들어 부모에서 f라는 가상 함수를 const로 선언하고 자식이 비 const f함수를 작성하였다면 일부 컴파일러에서 자식의 f가 부모의 f를 가린다고 경고를 띄운다. 실제로 자식의 f가 부모의 f를 가리기에 자식 인스턴스는 부모 포인터와 자신의 포인터에 담겨있을때 서로 다른 f를 호출한다. 객체지향의 기본 동작에서 벗어난 것이다. 이런식으로 겉으로 드러나는 직관적인 부분과 실제 동작이 다른 부분을..