책 정리/C++ Coding Standards : C++ 코딩의 정석

항목 44 : 비멤버 함수를 활용하라. ( Prefer writing nonmember nonfriend functions. )

최익필 2009. 3. 31. 13:49

{

비멤버 함수란 무엇인가?

멤버 함수가 아닌 함수를 말한다. 즉, 클래스 외부에 있는 함수를 말한다.


비멤버 함수가 뭐가 좋길래 활용해야 하는가?

1. 비멤버 함수는 클래스의 무게를 줄여 준다.
  ① 이는, 좀더 유지보수가 편해 지게 해 주는 초석이 된다.
  ② 가독성이 올라 간다. 왜냐구? 봐야 할게 적으니까~

2. General Programming을 할 수 있다.
  ① 이는, 한번 만들어 둔것을 손쉽게 재사용 할 수 있게 해주는 초석이 된다.
  ② 코드의 재사용으로 역시 알아야 할 것이 줄어 들게 된다.


사례를 들어 달라.

Excetional C++ Sytle 에서 string 클래스의 예를 보면 될 듯 싶다.
http://www.ikpil.com/841


보통 어떻게 비멤버 함수를 만들지 결정 하는가?

1. operator=,-> [] () 는 멤버로 만든다.
2. 반드시 멤버가 되어야 하는 경우 멤버로 만든다.(private 접근용, 정책 등)
3. 그 외라면, 비멤버 함수로 하는 것이 좋다.
}