<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=QueryMethod</id>
	<title>QueryMethod - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=QueryMethod"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=QueryMethod&amp;action=history"/>
	<updated>2026-05-14T13:03:09Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=QueryMethod&amp;diff=38063&amp;oldid=prev</id>
		<title>imported&gt;Unknown at 05:24, 7 February 2021</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=QueryMethod&amp;diff=38063&amp;oldid=prev"/>
		<updated>2021-02-07T05:24:09Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=== Query Method ===&lt;br /&gt;
객체의 속성을 테스트하려면 어떻게 할것인가? 두 가지를 결정해야 한다. 첫째는 무엇을 리턴할 것인가이고, 둘째는 이름을 어떻게 짓느냐다.&lt;br /&gt;
----&lt;br /&gt;
 class Switch&lt;br /&gt;
 {&lt;br /&gt;
 private:&lt;br /&gt;
 	string status;&lt;br /&gt;
 	/* ... */&lt;br /&gt;
 public:&lt;br /&gt;
 	void makeOn() {&lt;br /&gt;
 		status = &amp;quot;on&amp;quot;;&lt;br /&gt;
 	}&lt;br /&gt;
 	void makeOff() {&lt;br /&gt;
 		status = &amp;quot;off&amp;quot;;&lt;br /&gt;
 	}&lt;br /&gt;
 	string&amp;amp;amp; getStatus() {&lt;br /&gt;
 		return status;&lt;br /&gt;
 	}&lt;br /&gt;
 	/* ... */&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 class Light&lt;br /&gt;
 {&lt;br /&gt;
 /* ... */&lt;br /&gt;
 	void makeOn() {&lt;br /&gt;
 		/* ... */&lt;br /&gt;
 	}&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 class WallPlate&lt;br /&gt;
 {&lt;br /&gt;
 private:&lt;br /&gt;
 	Switch* switch;&lt;br /&gt;
 	Light* light;&lt;br /&gt;
 /* ... */&lt;br /&gt;
 public:&lt;br /&gt;
 /* ... */&lt;br /&gt;
 	void update() {&lt;br /&gt;
 		if( switch-&amp;amp;gt;getStatus() == &amp;quot;on&amp;quot; )&lt;br /&gt;
 			light-&amp;amp;gt;makeOn();&lt;br /&gt;
 		else if( switch-&amp;amp;gt;getStatus() == &amp;quot;off&amp;quot; )&lt;br /&gt;
 			light-&amp;amp;gt;makeOff();&lt;br /&gt;
 	}&lt;br /&gt;
 };&lt;br /&gt;
이것은 두 객체 중에 하나를 리턴하는 방법이다. 딱 보기에도 뭔가 찝찝해 보인다. 하지만 이 방법은 클라이언트로 하여금 Switch가 상태를 어떻게 저장하고 있는지 알아야만 하게 해준다.&lt;br /&gt;
----&lt;br /&gt;
이를 해결해기 위해, 하나의 메세지 - Boolean을 리턴하는 - 에다가 처리하는 방법이 있다. &lt;br /&gt;
 class Switch&lt;br /&gt;
 {&lt;br /&gt;
 private:&lt;br /&gt;
 	bool status;&lt;br /&gt;
 	/* ... */&lt;br /&gt;
 public:&lt;br /&gt;
 	bool isOn() {&lt;br /&gt;
 		return status;&lt;br /&gt;
 	}&lt;br /&gt;
 	/* ... */&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 class Light&lt;br /&gt;
 {&lt;br /&gt;
 /* ... */&lt;br /&gt;
 	void makeOn() {&lt;br /&gt;
 		/* ... */&lt;br /&gt;
 	}&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 class WallPlate&lt;br /&gt;
 {&lt;br /&gt;
 private:&lt;br /&gt;
 	Switch* switch;&lt;br /&gt;
 	Light* light;&lt;br /&gt;
 /* ... */&lt;br /&gt;
 public:&lt;br /&gt;
 /* ... */&lt;br /&gt;
 	void update() {&lt;br /&gt;
 		if ( switch-&amp;amp;gt;isOn() )&lt;br /&gt;
 			light-&amp;amp;gt;makeOn();&lt;br /&gt;
 		else&lt;br /&gt;
 			light-&amp;amp;gt;makeOff();&lt;br /&gt;
 	}&lt;br /&gt;
 };&lt;br /&gt;
----&lt;br /&gt;
Boolean을 리턴하는 메소드를 만들고, 이름은 접두사에 be동사의 여러 형태를 적어준다.(is,was...)&lt;br /&gt;
&lt;br /&gt;
See Also ReplaceTempWithQuery&lt;br /&gt;
----&lt;br /&gt;
[[SBPPSummary]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>