정의되지 않은 동작(UB)이 괜찮다고 생각하는 사람들에게
역량 개발 · GeekNews · 2026.10.24
정의되지 않은 동작(Undefined Behavior, UB)이 발생했을 때, 단순히 프로그램이 세그멘테이션 폴트와 함께 종료될 것이라고 생각하면 위험할 수 있습니다. GCC나 Clang 같은 컴파일러에 따라 UB의 결과는 매우 다르게 나타날 수 있으며, 호출되지 말아야 할 함수가 실행되거나 엉뚱한 메모리 주소에 값이 저장되는 등 예측 불가능한 동작을 보일 수 있습니다. 컴파일러는 UB를 탐지할 의무가 없으므로, 코드의 동작이 우연히 예상과 일치하더라도 그것이 UB라는 사실은 변하지 않는다는 점을 꼭 유의해 주세요.