'비프렌드 함수'에 해당되는 글 1건

  1. 2009.10.18 멤버 함수 보다는 비멤버 비프렌드 함수에 더 가깝게 쓰자.
[ Programming ]2009. 10. 18. 00:57
클래스를 만들고 사용하다 보면 여러개의 함수를 호출할때가 있다. 이런 경우 하나의 멤버 함수를 추가하고 필요한 여러개의 함수를 새로 만든 함수에서 호출하여 하나의 함수를 호출 하여 편하게 사용하는 경우가 종종있다.
이런 경우 멤버 함수 보다 비멤버 비프렌드 함수로 만드는 경우가 더 좋다.
  • 캡슐화가 더 좋다.
    - 멤버 변수를 private에 선언하면 접근 할수 있는 유일한 방법은 멤버 함수와 프렌드 함수이다. 즉 멤버 함수가 늘어 날수록 캡슐화가 낮아짐.
  • 컴파일 의존도를 낮출 수 있고 확장성이 좋다.
    - 네임스페이스를 이용. 네임스페이스는 클래스와 달리 나누어서 만들수 있어 세분화 하여 분리 하여 컴파일 의존도를 낮출수 있음. 또한 세분화 하여 확장성이 유용한다.
/// 웹브라우저를 나타내는 클래스.
namespace WebBrowserStuff
{
	class WebBrowser
	{
	public:
		void clearCache()
		{
			cout << "clearCache" << endl;
		}
		void clearHistory()
		{
			cout << "clearHistory" << endl;
		}
		void removeCookies()
		{
			cout << "removeCookies" << endl;
		}
	};

	void clearAll(WebBrowser& const _WebBrowser)
	{
		_WebBrowser.clearCache();
		_WebBrowser.clearHistory();
		_WebBrowser.removeCookies();
	}
}

/// 다른 헤더 파일에 정의
namespace WebBrowserStuff
{
	/// 즐겨 찾기 관련 편의 함수들.
}

/// 다른 헤더 파일에 정의
namespace WebBrowserStuff
{
	/// 쿠가 관련 편의 함수들.
}
Posted by 냉동