[C++] C++11의 override 키워드

cocos2d-x 3.0 이상부터 C++11이 적용되어서 나름의 신세계를 경험하고 있다.
auto, lambda 등이 있지만, 가장 많이 쓰게 되는 건 override 키워드인 것 같다.
상속받은 클래스에서 상위클래스의 함수를 override 할 때 override 키워드를 붙여주면 두 가지의 장점이 있다.

1. 어떤 함수가 override한 함수인지 쉽게 알아볼 수 있다.
– 그냥 선언되어 있을 경우 이 함수가 override 한 함수인지, 이 클래스에서 만들어진 함수인지는 쉽게 알 방법이 없다. 하지만 override 키워드를 붙여두면 나중에 코드를 읽을 때 쉽게 파악할 수 있다.

2. 상위 클래스에 없는 함수를 체크할 수 있다.
– 이 케이스가 더 와닿는 부분인데, 함수를 override 하기 위해 이 키워드를 붙여두면 만약에 상위 클래스에 없는 함수일 경우 컴파일 에러가 발생한다. 이를 통해 override 할 때 함수명에 오타를 내는 경우도 없앨 수 있고, 상위 클래스에 있는 줄 알았는데 막상 없는 함수를 override 한답시고 사용하는 경우를 줄일 수 있다.

C++11에서는 상위클래스의 함수를 override 할 경우 이 키워드를 꼭 붙여주도록 하자.

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google photo

Google의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중