C++/C++ 기본

연산자 함수는 멤버 함수나 프렌드 함수 중 어떤 것이 바람직한가?

검정비니 2019. 1. 1. 22:30
728x90
반응형

연산자 함수는 멤버 함수나 프렌드 함수 중 어떤 것이 바람직한가?


알다시피, c++에서는 연산자를 오버라이딩(overriding)할 수가 있다.


이 때, 오버라이딩을 하는 방법에는 다음과 같은 2가지 방법이 존재한다:


1) 멤버 함수로서 오버라이딩한다.

2) friend 키워드를 이용해서 외부 함수를 통해서 오버라이딩한다.



최선의 방법은 역시 멤버 함수로서 오버라이딩하는 것이다. 새로운 연산자는 클래스와 연계하여 작동하기 때문에 클래스의 멤버로 선언하면 외부의 연산자 함수를 friend로 취할 필요도 없고, 프로그램의 가독성도 높아지기 때문이다.


물론, 가끔씩 연산자를 외부 함수로 밖에 만들 수 없는 경우들이 있는데, 이러한 경우에만 예외적으로 friend 키워드를 이용해서 오버라이딩 하는 것이 좋다.

반응형

'C++ > C++ 기본' 카테고리의 다른 글

가상 함수와 추상 클래스  (0) 2019.01.21
c++ 상속  (0) 2019.01.09
C++ 프렌드 개념  (0) 2018.08.02
static 멤버  (0) 2018.07.31
디폴트 매개 변수  (0) 2018.07.30