<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>세계의끝과 플래시 원더랜드 &#187; 레퍼런스</title>
	<atom:link href="http://ufx.kr/blog/tag/%eb%a0%88%ed%8d%bc%eb%9f%b0%ec%8a%a4/feed" rel="self" type="application/rss+xml" />
	<link>http://ufx.kr/blog</link>
	<description>Flash + ActionScript &#38; Design</description>
	<lastBuildDate>Fri, 27 Jan 2012 21:51:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>새로운 초보 개발자용 입문서, 액션스크립트 3.0 시작가이드.</title>
		<link>http://ufx.kr/blog/884</link>
		<comments>http://ufx.kr/blog/884#comments</comments>
		<pubDate>Fri, 14 Oct 2011 15:40:29 +0000</pubDate>
		<dc:creator>세계의끝</dc:creator>
				<category><![CDATA[개발환경]]></category>
		<category><![CDATA[Learning ActionScript 3.0]]></category>
		<category><![CDATA[O'Reilly]]></category>
		<category><![CDATA[가이드]]></category>
		<category><![CDATA[레퍼런스]]></category>
		<category><![CDATA[송호철]]></category>
		<category><![CDATA[액션스크립트 3.0 시작가이드]]></category>
		<category><![CDATA[액션스크립트 3.0 완벽가이드]]></category>
		<category><![CDATA[오라일리]]></category>
		<category><![CDATA[책]]></category>
		<category><![CDATA[초보자용]]></category>

		<guid isPermaLink="false">http://ufx.kr/blog/?p=884</guid>
		<description><![CDATA[제 연락처는 블로그의 제 소개 페이지에 공개 되어 있기 때문에 다른 분들로부터 종종 플래시 관련 질문등을 받곤 합니다. 이 공개된 연락처를 통해 얼마전 뜻밖에도 인사이트의 편집자 한분이 메일을 보내셨는데, 제게 Learning ActionScript 3.0 의 번역서에 들어갈 추천사를 부탁하시는 내용이었습니다. 이 책의 원서는 리치 슈페(Rich Shupe)와 지반 로서(Zevan Rosser)가 썼고 O’REILLY에서 지난 2008년에 Learning ActionScript 3.0: [...]]]></description>
			<content:encoded><![CDATA[<p>제 연락처는 <a href="http://ufx.kr/blog/about-me" target="_blank">블로그의 제 소개 페이지에 공개</a> 되어 있기 때문에 다른 분들로부터 종종 플래시 관련 질문등을 받곤 합니다. 이 공개된 연락처를 통해 얼마전 뜻밖에도 인사이트의 편집자 한분이 메일을 보내셨는데, 제게 Learning ActionScript 3.0 의 번역서에 들어갈 추천사를 부탁하시는 내용이었습니다.</p>
<p><a href="http://www.amazon.com/Learning-ActionScript-3-0-Beginners-Guide/dp/059652787X/ref=sr_1_1?ie=UTF8&amp;qid=1314936969&amp;sr=8-1" target="_blank">이 책의 원서</a>는 리치 슈페(Rich Shupe)와 지반 로서(Zevan Rosser)가 썼고 O’REILLY에서 지난 2008년에 Learning ActionScript 3.0: A Beginner&#8217;s Guide 라는 제목으로 출간되었습니다만, 우리나라에는 아직 번역서가 없던 참이었죠. 이 책을 ActionScript 3.0 Cookbook 과 액션스크립트 3.0 완벽가이드(콜린 무크 저, 원제 : Essential ActionScript 3.0)를 번역하셨던 송호철님이 번역하신다는 것이었습니다.</p>
<p>이 재미있고 흥미로운 요청에 당장 써드리겠다고 답장을 써 보내자 몇 시간 후에 편집자께서 편집중인 책의 pdf 파일을 보내주셨고, 며칠 후 몇 줄의 추천사를 (오탈자도 서너군데 찾아내어) 보내드렸던 것이 올해 추석 직전이었던걸로 기억합니다.</p>
<p>드디어 며칠전 이 번역서가 출간되었는데,<sup>[<a href="http://ufx.kr/blog/884#footnote_0_884" id="identifier_0_884" class="footnote-link footnote-identifier-link" title="책의 정식 출판일은 2011년 10월 7일 입니다.">01</a>]</sup> 고맙게도 편집자님께서 추천사에 대한 답례로 책을 한권 보내주셨습니다.</p>
<div id="attachment_885" class="wp-caption alignnone" style="width: 610px"><img class="size-full wp-image-885" title="Learning Actionscript 3.0 표지" src="http://ufx.kr/blog/wp-content/uploads/2011/10/learning_actionscript3_book_1.jpg" alt="" width="600" height="360" /><p class="wp-caption-text">포스트잇에 편집자님의 예쁜 글씨로 메모가 적혀있었습니다. &quot;사랑해요 세계의끝님&quot; (글씨 잘 안보이시죠? ^^)</p></div>
<p><span id="more-884"></span></p>
<p>액션스크립트 1.0과 2.0 시절로 개발하던 시기에는 콜린 무크의 Essential ActionScript (이하 EAS)시리즈가 절대 불변의 바이블 같은 느낌이었는데, 액션스크립트 3.0 으로 넘어가고 나서는 콜린 무크의 입지가 예전만 못하달까요, 한편으로는 1.0, 2.0 책이 워낙 명저(名著)다 보니 그에 비해 상대적으로 3.0 책이 묻히는 감도 있고, 결정적으로 EAS3.0 책은 완전히 초보가 읽기에는 뭐랄까 다소 추상적이고 난해한 부분도 부분부분 존재하는 그런 책이라는 느낌입니다. 물론 EAS3.0 책은 그 책의 서문에도 쓰여 있듯, 초보 개발자가 아닌 어느정도 수준 이상의 개발자가 읽으면 상당히 도움이 되는 책임에는 분명합니다.</p>
<p>어찌됐건, 그래서 액션스크립트 3.0 에 와서 초보 레벨의 레퍼런스 참고서의 자리는 바로 Learning ActionScript 3.0 이 차지하고 있었습니다. 번역 출간된 책은 500페이지 안팎의 분량이고, 번역서 치고는 그림으로 구성된 설명도 꽤 많아,(게다가 컬러로!!) 액션스크립트 API의 모든 내용을 속속들이 다루고 있지는 않으면서도, 초보 개발자들이 처음 공부를 시작할 무렵에 적합한 내용이라고 할 수 있습니다.<br />
또한 DisplayObject 나 모션, 벡터그래픽같은 플래시적 특성도 꽤나 자세히 설명되어 있으므로, 다른 네이티브 언어를 다루다가 필요에 의해 액션스크립트를 다루게 된 개발자들에게도 도움이 될것 같습니다.</p>
<div id="attachment_886" class="wp-caption alignnone" style="width: 610px"><img class="size-full wp-image-886" title="Learning ActionScript 3.0 추천사" src="http://ufx.kr/blog/wp-content/uploads/2011/10/learning_actionscript3_book_2.jpg" alt="" width="600" height="335" /><p class="wp-caption-text">제가 쓴 추천의 글. 바로 아래쪽에는 열이아빠(이준하)님의 추천의 글도 있습니다.</p></div>
<p>이제 이 책이 번역되었으니 <a href="http://ufx.kr/blog/762">초보자에게 추천할 수 있는 레퍼런스 가이드</a>가 한 권 더 늘었군요.</p>
<p><a href="http://goo.gl/vqEfT"><img class="alignnone" title="웹디자이너, 플래시 개발자를 위한 액션스크립트 3.0 시작 가이드" src="http://image.yes24.com/goods/5759386/147x215" alt="" width="147" height="215" /></a></p>
<ol class="footnotes"><li id="footnote_0_884" class="footnote">책의 정식 출판일은 2011년 10월 7일 입니다.</li></ol>]]></content:encoded>
			<wfw:commentRss>http://ufx.kr/blog/884/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>액션스크립트 3.0 입문자를 위한 F1 도움말(레퍼런스) 보는 방법</title>
		<link>http://ufx.kr/blog/378</link>
		<comments>http://ufx.kr/blog/378#comments</comments>
		<pubDate>Wed, 13 Jan 2010 06:30:09 +0000</pubDate>
		<dc:creator>세계의끝</dc:creator>
				<category><![CDATA[고수들은 가르쳐주지 않는 AS3.0 입문]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[ASdoc]]></category>
		<category><![CDATA[CS4]]></category>
		<category><![CDATA[CS5]]></category>
		<category><![CDATA[F1]]></category>
		<category><![CDATA[개발자]]></category>
		<category><![CDATA[고수들은 가르쳐주지 않아요]]></category>
		<category><![CDATA[도움말]]></category>
		<category><![CDATA[레퍼런스]]></category>
		<category><![CDATA[메서드]]></category>
		<category><![CDATA[상속]]></category>
		<category><![CDATA[속성]]></category>
		<category><![CDATA[이벤트]]></category>
		<category><![CDATA[클래스]]></category>
		<category><![CDATA[패키지]]></category>

		<guid isPermaLink="false">http://ufx.kr/blog/?p=378</guid>
		<description><![CDATA[우리가 흔히 F1 또는 레퍼런스라고 부르는 플래시 도움말이 있습니다. 개발자들 사이에서는 이 레퍼런스의 형식을 ASDoc(ActionScript Documentation) 이라고 부르기도 합니다.[01] Java 개발자들을 위한 JavaDoc 도 구경해볼까요? J2EE 의 1.4 버전 레퍼런스 입니다. 구글에서 개발한 스마트폰 운영체제인 안드로이드도 개발자들을 위한 레퍼런스를 제공하고 있는데, 이것의 형태도 크게 다르지 않습니다. 레퍼런스란 필요한 부분을 검색하여 원하는 정보를 찾아보는 대상을 의미 [...]]]></description>
			<content:encoded><![CDATA[<p>우리가 흔히 F1 또는 레퍼런스라고 부르는 <a href="http://help.adobe.com/ko_KR/AS3LCR/Flash_10.0/" target="_blank">플래시 도움말</a>이 있습니다. 개발자들 사이에서는 이 레퍼런스의 형식을 ASDoc(ActionScript Documentation) 이라고 부르기도 합니다.<sup>[<a href="http://ufx.kr/blog/378#footnote_0_378" id="identifier_0_378" class="footnote-link footnote-identifier-link" title="ASDoc은 작은의미로 Flex SDK에 포함된 레퍼런스를 만드는 프로그램의 이름이기도 한데, 이 포스트에서는 그것보다는 큰 의미로 레퍼런스와 동일한 의미로 사용하였습니다.">01</a>]</sup><br />
Java 개발자들을 위한 JavaDoc 도 구경해볼까요? <a href="http://java.sun.com/j2ee/1.4/docs/api/" target="_blank">J2EE 의 1.4 버전 레퍼런스</a> 입니다.<br />
구글에서 개발한 스마트폰 운영체제인 <a href="http://developer.android.com/reference/packages.html" target="_blank">안드로이드도 개발자들을 위한 레퍼런스</a>를 제공하고 있는데, 이것의 형태도 크게 다르지 않습니다.</p>
<p><img class="alignleft" title="reference" src="http://farm3.static.flickr.com/2547/3794323660_09ab487421_m.jpg" alt="" width="240" height="171" />레퍼런스란 필요한 부분을 검색하여 원하는 정보를 찾아보는 대상을 의미 합니다. 레퍼런스는 그 자체로 이미 사전과 같은 역할을 하는 것인데 개발자 출신이 아닌 플래시 액션스크립터 지망생들은 이 레퍼런스를 어려워 하여 멀리하고 오히려 포털 검색으로 지식을 얻으려고 하는 경향이 있습니다.<br />
차라리 검색을 구글에서라도 하면 상위에 리스트업 되는 Adobe 의 레퍼런스를 보게 될 텐데, 그것도 아니고 국내 포털 검색으로 주로 지식검색이나 카페에서 자신과 딱 맞는 케이스의 질문과 답변을 얻으려고 하니 참으로 딱한 상황이 아닐 수 없습니다. 이러한 경향은 지식검색이 만능이라고 생각하는 우리나라에서 좀더 두드러지는 경향이기도 하지만, 외국이라고 예외는 아니어서 <a href="http://ko.wikipedia.org/wiki/RTFM" target="_blank">RTFM 라는 재미있는 관용구</a>도 있습니다.</p>
<p>어쨌건 이러한 형태의 레퍼런스에 친숙해 진다면 다른 언어로 개발하는 것도 꿈속의 일만은 아니게 되는것이죠. 우리에겐 레퍼런스가 있으니까요.</p>
<p><span id="more-378"></span></p>
<p><img class="alignnone size-full wp-image-379" title="reference_01_layout" src="http://ufx.kr/blog/wp-content/uploads/2010/01/reference_01_layout.gif" alt="reference_01_layout" width="600" height="369" /></p>
<h3>1. 패키지 영역</h3>
<p>패키지는 여러 클래스의 묶음 단위라고 이해하면 어렵지 않습니다. 우리가 가장 많이 사용하는 flash.display 패키지를 클릭하면 아래쪽 클래스 영역의 내용이 flash.display 항목들로만 필터링 되서 보여지고, 본문 영역도 그에 맞게 화면이 변경 됩니다.<br />
레퍼런스에서 패키지 영역은 일종의 대분류 목차와 같은 성격을 가지고 있습니다. 클래스 이름을 알고 있다면 굳이 클릭할 필요가 없는 영역이기도 하죠.</p>
<p>그러나 이 영역에만 있어 별도로 살펴봐야할 항목도 몇 가지 있습니다.<br />
스크롤바를 죽 내려보면 &#8220;패키지&#8221; 부분과 &#8220;언어요소&#8221; 부분, 그리고 &#8220;부록&#8221; 부분이 있는데 이것들 중 아래에 나열한 것들은 한번 쯤 훑어 보고 뭐가 있는지는 파악해 놓는게 좋습니다.</p>
<ul>
<li>최상위 : import 를 사용하지 않아도 바로 사용할 수 있는 클래스들과 전역상수, 전역함수 들이 나열되어 있습니다. 우리가 흔히 사용하는 Array, String, Number 등이 최상위 클래스에 속합니다.</li>
<li>연산자 : 사실상 액션스크립트의 모든 기호는 연산자 입니다. 게다가 new 같은 것들도 연산자의 범주에 들어갑니다.</li>
<li>명령문, 키워드 및 지시문 : 프로그래밍의 형식이나 골격을 구성하는 것들 입니다. package, class, public, var, this 등이 여기에 속합니다.</li>
<li>ActionScript 2.0 마이그레이션 : AS2.0의 클래스, 메서드, 속성이 AS3.0 으로 어떻게 변경 되었는지 리스트업 되어있습니다. (이 문서가 여기 있다는것만 알면 됩니다.)</li>
</ul>
<p>나머지 부분들은 읽어본다면 어떤 형태로건 도움이 될 수 있지만, 딱히 읽지 않아도 지장이 없는 부분이므로 대략 스물스물 넘어가도 되겠습니다.</p>
<h3>2. 클래스 영역</h3>
<p>이 영역은 크게 클래스와 인터페이스 항목으로 나뉘는데, 이 중 이탤릭체로 되어 있는 애들이 인터페이스 입니다. AS3.0을 처음 배워나가는 과정에서는 인터페이스를 몰라도 괜찮기도 하고, 이 포스트의 내용에서 벗어나는 내용이므로 다음 기회를 잡아 설명하도록 하겠습니다.</p>
<p>이 영역을 스크롤 해서 보면 액션스크립트에서 사용하는 모든 클래스들이 나열되어 있습니다. 클래스의 이름을 알고 있다면, 딱히 검색할 필요 없이 클릭으로 본문 영역에 필요한 정보를 펼칠 수가 있습니다.</p>
<h3>3. 본문 영역</h3>
<p>우리가 가장 흔하게 사용하는 객체인 Sprite 를 펼쳐보겠습니다.</p>
<p><img class="alignnone size-full wp-image-380" title="reference_02_sprite_head" src="http://ufx.kr/blog/wp-content/uploads/2010/01/reference_02_sprite_head.png" alt="reference_02_sprite_head" width="600" height="443" /></p>
<h4>(1) 패키지</h4>
<p>이 클래스가 어디 소속인지 알려줍니다. Sprite 클래스는 물리적으로 flash.display.Sprite 라는 경로에 있다는 것을 의미하죠. 실제로 액션스크립트의 내장 클래스는 플래시 플레이어에 내부에 들어 있으므로 실재로  Sprite.as 파일이 존재하지는 않습니다만,<sup>[<a href="http://ufx.kr/blog/378#footnote_1_378" id="identifier_1_378" class="footnote-link footnote-identifier-link" title="모든 내장 클래스들이 마찬가지 입니다.">02</a>]</sup> 실제로 파일이 존재한다고 생각해도 무방합니다.</p>
<h4>(2) 클래스</h4>
<p>클래스 정의를 표현 합니다. Sprite 클래스의 경우 어디서나 자유롭게 불러 사용할 수 있는 public 접근 제한을 가지고 있으며, class 라는 것을 의미합니다.</p>
<h4>(3) 상속</h4>
<p>이 클래스의 상속 체인을 모두 표시해 줍니다. Sprite 클래스가 정말 저렇게 5단계에 걸친 많은 클래스를 상속하고 있냐고요? 네 정말 그렇습니다. Sprite 는 이벤트를 발생시키기도 해야하고(EventDispatcher), 시각적인 표현도 해야하고(DisplayObject), 마우스 인터랙션도 받아야 하는데다가(InteractiveObject), Sprite 안에 있는 여러 가지 다른 요소들의 위 아래 순서도 정의해야 하기 때문에(DisplayObjectContainer) 해야 할 일이 꽤나 많은편이죠.</p>
<h4>(4) 하위클래스</h4>
<p>Sprite 클래스를 상속한 클래스의 목록 입니다.</p>
<h4>(5) 언어 버전</h4>
<p>이 클래스를 사용할 수 있는 액션스크립트의 버전입니다.  Sprite 의 경우에는 ActionScript 3.0 부터 사용할 수 있다는 의미입니다.</p>
<p>여기서 잠깐 여러분의 이해를 돕고자 재미있는 이야기를 하나 꺼내보겠습니다.<br />
현재 이 레퍼런스를 사용할 수 있는 ActionScript 버전 중에는 3.0이 가장 낮은 버전입니다. &#8220;당연하잖아!&#8221; 라고 생각하시는 분들에게 아래와 같이 질문을 드려볼까요?</p>
<p><span style="color: #ff6600;">&#8220;AS2.0 의 MovieClip 과 AS3.0 의 MovieClip 은 같은 클래스인가요, 다른 클래스 인가요?&#8221;</span></p>
<p>우리는 AS2.0과 3.0 모두에서 MovieClip 을 사용할 수 있고, 사용 방법 또한 같으며, 성질도 다르지 않습니다. 그러나 아래의 스크린샷을 볼까요?</p>
<p><img class="alignnone size-full wp-image-381" title="reference_03_as3movieclip" src="http://ufx.kr/blog/wp-content/uploads/2010/01/reference_03_as3movieclip.png" alt="reference_03_as3movieclip" width="600" height="222" /></p>
<p>그런데 뭔가 이상하죠? MovieClip 은 분명 AS2.0 에서도 사용할 수 있는데, 어째서 언어 버전이 ActionScript 3.0 이라고 써 있으며 런타임 버전 AIR 1.0, Flash Player 9 일까요?</p>
<p><img class="alignnone size-full wp-image-382" title="reference_04_as2movieclip" src="http://ufx.kr/blog/wp-content/uploads/2010/01/reference_04_as2movieclip.png" alt="reference_04_as2movieclip" width="601" height="257" /></p>
<p>그 해답은 AS2.0 레퍼런스를 보면 알 수 있습니다. 이걸 보면 AS2.0의 MovieClip 과 AS3.0의 MovieClip 은 <span style="color: #ff6600;">클래스 이름은 같지만</span> 엄밀히 말하면 <span style="color: #ff6600;">별개의 클래스</span>라는 것을 알 수 있습니다.</p>
<p>우선 상속 체인이 완전히 다릅니다. AS2.0은 Object 에서 단 한번 상속했을 뿐이지만, AS3.0의 MovieClip 은 위에서 살펴본 Sprite 를 상속 했으니까 무려 6단계의 상속 체인을 가지고 있습니다.</p>
<p>또한 속성도 다르죠. AS2.0이 AS3.0으로 바꼈어도 MovieClip 이라는 클래스 명은 동일하기 때문에 개발의 편의를 위하여 대부분의 속성명을 동일하게 유지했지만, 속성명 앞에 있던 _ (언더 바 또는 언더 스코어) 들이 사라졌습니다. 다르게 말한다면 속성이 죄다 바뀐거라고 할 수 있습니다.</p>
<h4>(6) 런타임 버전</h4>
<p>Flash Player 또는 AIR 런타임<sup>[<a href="http://ufx.kr/blog/378#footnote_2_378" id="identifier_2_378" class="footnote-link footnote-identifier-link" title="AIR의 R은 이미 Runtime 의 이니셜 입니다만, 여기서는 런타임이라는 것을 강조하기 위하여 상가&amp;#8221;집&amp;#8221; 식의 중복을 사용했습니다.">03</a>]</sup> 의 최소 요구 버전을 나타냅니다.<br />
초보분들은 Flash Player 의 버전과 ActionScript 의 버전, 그리고 Flash IDE의 CS 버전은 서로 다른 것을 이야기하는 것이므로 혼동하지 마시기 바랍니다.</p>
<p><img class="alignnone size-full wp-image-383" title="reference_05_publishing_menu" src="http://ufx.kr/blog/wp-content/uploads/2010/01/reference_05_publishing_menu.png" alt="reference_05_publishing_menu" width="476" height="650" /></p>
<h4>(7) 그리고 개괄적 설명</h4>
<p>이 부분은 이 클래스의 성격과 특성을 나타내므로 새로운 클래스를 만나게 되면 한번씩은 정독 해주는것을 권장합니다.</p>
<h4>(8) 참고 사항</h4>
<p>이 부분은 레퍼런스에 존재하는 관련 사항의 링크나 <a href="http://help.adobe.com/ko_KR/ActionScript/3.0_ProgrammingAS3" target="_blank">Adobe Flash용 Adobe ActionScript 3.0 프로그래밍</a>쪽의 관련 페이지 링크를 제공하기도 합니다. 문제 해결에 결정적인 도움을 주기도 하는 부분이니 디버깅 할 경우라면 주의깊게 살펴보세요.</p>
<p style="text-align: center;">* * * * *</p>
<p style="text-align: center;">여기부터는 본문의 속성, 메서드, 이벤트 목록을 표시하는 부분 입니다.</p>
<h4 style="text-align: center;">- Public 속성 -</h4>
<p><img class="alignnone size-full wp-image-384" title="reference_06_properties" src="http://ufx.kr/blog/wp-content/uploads/2010/01/reference_06_properties.png" alt="reference_06_properties" width="601" height="327" /></p>
<p>&#8220;상속되는 Public 속성 표시&#8221; 는 클릭하면 &#8220;상속되는 Public 속성 숨기기&#8221;로 링크가 변경됩니다. 이 기능은 클래스가 상속을 하게 되면 부모의 속성, 메서드, 이벤트도 모두 가지게 되기 때문에 상속체인상의 하위 클래스로 갈수록 속성, 메서드, 이벤트의 숫자가 상당히 많아집니다. Sprite 만 봐도 상당히 많은 숫자를 볼 수 있죠.</p>
<p>위 그림에서 우리가 흔하게 사용하는 alpha 속성을 잠시 살펴볼까요? alpha 는 소수점 표시를 해야하기 때문에 Number 의 데이터 형을 가지고 있다는 것을 표시하고 있고, 간단한 설명도 볼 수 있습니다.<br />
오른쪽을 보면 &#8220;다음에 의해 정의됨&#8221; 항목에 DisplayObject 라고 되어 있군요. 즉, alpha 라는 속성은 DisplayObject 에서 정의되어 있으므로 상속 체인상에서 DisplayObject 를 포함한 InteractiveObject, DisplayObjectContainer, Sprite 의 자식 클래스에서 사용 가능하고,  상위 클래스인 EventDispatcher 나 Object 에서는 사용할 수 없는 속성이 되겠습니다.</p>
<p><strong>여기서 잠깐 !</strong></p>
<p>정말 쌩초보스럽지만 정말 중요한 질문하나가 있습니다.<br />
속성은 어떻게 사용하나요?<br />
코드로 보면 아래와 같습니다.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>0
1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #009900;">// 객체 생성 및 초기화</span>
<span style="color: #6699cc; font-weight: bold;">var</span> instance<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">Sprite</span> = <span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">Sprite</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
&nbsp;
<span style="color: #009900;">// 객체 속성에 값을 대입함</span>
<span style="color: #009900;">// buttonMode 속성은 Boolean 데이터 형이므로 true 아니면 false 둘 중 하나를 대입해야 함</span>
<span style="color: #009900;">// 객체.속성 = 속성값</span>
instance.<span style="color: #004993;">buttonMode</span> = <span style="color: #0033ff; font-weight: bold;">true</span>;
&nbsp;
<span style="color: #009900;">// 객체 속성을 참조함</span>
<span style="color: #009900;">// 출력 : true</span>
<span style="color: #004993;">trace</span><span style="color: #000000;">&#40;</span> instance.<span style="color: #004993;">buttonMode</span> <span style="color: #000000;">&#41;</span>;</pre></td></tr></table></div>

<p>속성은 클래스 내부에서 getter/setter 로 구현합니다. 읽기전용, 쓰기전용, 읽기쓰기 모두가능의 3가지가 있지만 쓰기전용이라는 것은 실제 사용할 일이 별로 없으므로, 일반적으로 getter 메서드만 있는 읽기전용, getter/setter 둘다 있는 읽기쓰기 모두가능한 두 가지 속성으로 나뉜다고 볼 수 있습니다.<br />
위에서 코드로 예를 든 것과 같이 buttonMode 속성의 경우에는 읽기/쓰기가 모두 가능한 속성이므로 속성에 값을 대입할 수도 있고 값을 참조할 수도 있지만, numChildren 속성 같은 경우는 읽기전용 이므로 대입연산자 = 를 통해 값을 입력할 수 없는 차이가 있습니다.</p>
<p><img class="alignnone size-full wp-image-385" title="reference_07_properties_numchildren" src="http://ufx.kr/blog/wp-content/uploads/2010/01/reference_07_properties_numchildren.png" alt="reference_07_properties_numchildren" width="600" height="47" /></p>
<p>getter/setter 는 어려운 내용은 아니지만 개념에 대한 이해가 필요하므로 이에대한 설명을 나중에 별도의 포스팅을 하겠습니다.</p>
<h4 style="text-align: center;">- Public 메서드 -</h4>
<p><img class="alignnone size-full wp-image-386" title="reference_08_method" src="http://ufx.kr/blog/wp-content/uploads/2010/01/reference_08_method.png" alt="reference_08_method" width="601" height="219" /></p>
<p>메서드 역시 부모로부터 상속한 모든 메서드를 사용할 수 있습니다. Sprite 클래스에서 정의한 메서드는 Sprite(), startDrag(), stopDrag() 이 세 가지 뿐이군요.<sup>[<a href="http://ufx.kr/blog/378#footnote_3_378" id="identifier_3_378" class="footnote-link footnote-identifier-link" title="Flash Player 10.1 부터는 모바일 디바이스를 위한 터치관련 메서드들이 조금 더 추가됩니다.">04</a>]</sup> 나머지는 모두 부모 클래스에서 정의한 메서드들이라는 의미 입니다.<br />
위 그림중 우리가 흔하게 사용하는 addChild() 메서드를 살펴보도록 하죠. 함수연산자 () 안에 DisplayObject 타입의 객체가 들어와야 한다는 것을 나타내고 있습니다. child 라는 이름 자체는 의미가 없습니다. 다만 메서드명이 addChild() 이므로 add 하는 대상이 무엇인지 힌트를 주고 있는 것이죠.<br />
그리고 addChild() 메서드가 반환하는 값 역시 DisplayObject 라고 되어있죠? addChild() 의 파마미터에 넣은 child 가 메서드 실행의 결과로 반환됩니다.</p>
<h4 style="text-align: center;">- 이벤트 -</h4>
<p>이벤트는 addEventListener() 나 dispatchEvent() 메서드를 통해 사용하게 됩니다. dispatchEvent() 는 어떻게 사용하는 건데? 라는 질문을 하고 싶은 분이라고 하더라도 나중에 필요할 때 알게 됩니다. addEventListener() 만 사용할 줄 알아도 당장 AS3.0에 입문하는데 지장 없으니 걱정하지 마세요.</p>
<p><img class="alignnone size-full wp-image-387" title="reference_09_events" src="http://ufx.kr/blog/wp-content/uploads/2010/01/reference_09_events.png" alt="reference_09_events" width="600" height="207" /></p>
<p>이벤트 목록의 오른쪽에 있는 &#8220;다음에 의해 정의됨&#8221;을 보면 Sprite 클래스에서는 정의한 이벤트가 없고 모두 부모 클래스에서 상속한 이벤트 뿐이군요. 사용자의 인터랙션, 즉 마우스나 키보드 입력에 의한 이벤트는 InteractiveObject 에서 상속했고, 인터랙션과 관계 없는 이벤트는 DisplayObject 에서 상속했습니다. 요약설명 부분에 [브로드캐스트 이벤트] 라고 표시되어 있는 것들 중에 몇몇 이벤트는 EventDispatcher 까지 거슬러 올라가기도 합니다.<br />
브로드캐스트 이벤트가 뭔지 궁금한 분은 <a href="http://help.adobe.com/ko_KR/AS3LCR/Flash_10.0/flash/display/DisplayObject.html" target="_blank">여기</a>를 클릭해서 &#8220;DisplayObject 클래스에는 몇 가지 브로드캐스트 이벤트가&#8230;&#8221; 부분을 읽어보세요. 아직까지는 딱히 몰라도 관계 없습니다.</p>
<p style="text-align: center;">* * * * *</p>
<p style="text-align: center;">여기부터는 목록 더 아랫 부분의 상세 설명 본문 부분 입니다.</p>
<h4 style="text-align: center;">- 속성 정보, 생성자 정보, 메서드 정보 -</h4>
<p><img class="alignnone size-full wp-image-388" title="reference_10_properties_view" src="http://ufx.kr/blog/wp-content/uploads/2010/01/reference_10_properties_view.png" alt="reference_10_properties_view" width="600" height="225" /></p>
<p>레퍼런스의 더 아랫 부분은 위의 이미지와 같은 현재 선택한 클래스의 속성, 메서드, 이벤트에 대한 좀더 자세한 설명이 있습니다. 각 속성이나 메서드의 상세 설명은 사실 알고 있으면 좋지만, 레퍼런스의 모든 부분을 읽는다는건 입문자에겐 불가능할 뿐더러, 읽는다 하더라도 전체적인 그림이 머리속에 그려지지 않은 상태에서는 사실 무슨 의미인지 이해가 되지 않는 경우가 많습니다. 그러므로 아래의 두 가지 방법 중 하나를 선택하는 것이 현실적인 방법 입니다.</p>
<ol>
<li>실제 코딩을 하면서 처음보는 속성이나 메서드가 나오면 레퍼런스에서 찾아서 한번 읽어 보는, 약간 더디지만 확실한 학습 방법.</li>
<li>일단 코딩하면서 문제가 생기게 되면 문제가 생긴 부분의 레퍼런스를 읽어보는, 뭔가 빼먹을 가능성이 있긴 하지만 좀더 빠른 방법.</li>
</ol>
<p>둘 중 자신에게 맞다고 생각하는 방법으로 그때그때 맞게 읽어 나가면 되겠습니다.<br />
중요한 것은 무작정 레퍼런스나 책을 정독 또는 독파한다고 실력이 느는 것이 아니라, 실제 코딩을 해 나가면서 여러가지 문제에 봉착해 보고 해결 방법을 습득해 나가야 한다는 것입니다. <span style="color: #ff6600;">코딩 한줄 하지 않고 실력이 저절로 늘수는 없거든요.</span></p>
<p>본문 영역 중간중간에 해당 속성과 메서드에 해당하는 예제 코드가 있고 가장 아래쪽에 현재 선택된 클래스를 아울러 설명해 주는 예제 코드도 있으니 나중에 필요할 때 이용하면 되겠습니다.<br />
커뮤니티 질문게시판에 올라오는 90%는 이미 레퍼런스에 있는 내용입니다. 버젓이 질문내용과 동일한 코드 예제가 있는 경우도 허다하죠. 다만 어디 있는지 못찾는 것이거나, 찾기 귀찮거나 둘 중 하나입니다.</p>
<p>자, 이렇게 레퍼런스의 구석구석을 설명을 통해 알아 봤습니다. 이제는 레퍼런스의 특정 부분의 의미를 몰라서 레퍼런스를 기피하는 현상은 좀 줄어드리라 기대해 봅니다.</p>
<p style="text-align: center;">* * * * *</p>
<p>글을 쓰는 현재 시점(2010년 1월)은 Flash CS5 가 나오기 직전의 시점이고 CS5 가 베타 버전으로 존재합니다. Flash Player 는 10.1 이 되는군요. 언어 버전은 AS3.0 으로 현재와 변화가 없으므로 골격이나 구조의 변화는 없고 마이너한 요소들이 추가되었습니다.</p>
<p>위에서도 잠깐 설명했지만 액션스크립트의 내장 클래스들은 Flash Player 에 존재합니다. CS4, CS5 와 같은 Flash IDE 버전에 따라 액션스크립트 API가 버전이 올라간다고 생각하기 쉽지만 그렇지 않습니다. Flash IDE는 저작 환경일 뿐이고 액션스크립트 버전과는 직접적인 관계가 없습니다.<sup>[<a href="http://ufx.kr/blog/378#footnote_4_378" id="identifier_4_378" class="footnote-link footnote-identifier-link" title="그러나 한편으로는 Flash IDE버전에 올라가면 Flash Player 의 버전도 같이 올라가는 경우가 대부분이므로 완전히 별개라고 보기에도 어려움이 있긴 합니다.">05</a>]</sup></p>
<p>마지막으로 <a href="http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/frames.html" target="_blank">Flash CS5와 함께 공개될 새로운 레퍼런스</a>의 모습을 구경해 볼까요?<br />
CS4 버전의 현재 레퍼런스와 크게 달라지는 부분은 없습니다. Beta 라고 군데군데 명시되어 있고, Flex Builder 3 에서 Flash Builder 4 로 명칭이 변경된 만큼 Flex 에서 사용하던 mx 패키지가 들어왔습니다. (예전엔 서로 별개의 레퍼런스처럼 취급되었죠)</p>
<div id="attachment_389" class="wp-caption alignnone" style="width: 600px"><img class="size-full wp-image-389 " title="reference_11_filtering_runtimes" src="http://ufx.kr/blog/wp-content/uploads/2010/01/reference_11_filtering_runtimes.png" alt="reference_11_filtering_runtimes" width="590" height="437" /><p class="wp-caption-text">베타 레퍼런스에 도입된 필터링 시스템 중 Runtimes 필터링</p></div>
<div id="attachment_390" class="wp-caption alignnone" style="width: 600px"><img class="size-full wp-image-390" title="reference_12_filtering_products" src="http://ufx.kr/blog/wp-content/uploads/2010/01/reference_12_filtering_products.png" alt="reference_12_filtering_products" width="590" height="437" /><p class="wp-caption-text">Products 의 필터링</p></div>
<p>이전에는 없던 필터링 기능이 눈에 띄는데, Runtimes 으로 Flash Player와 AIR를 구분하여 버전별로 필터링 할 수 있게 했고, Products 에는 Flex SDK 버전과 Flash IDE 버전 그리고 Blaze 서버와 LiveCycle, ColdFusion 까지, 액션스크립트와 관련을 가지는 다른 프로그램들의 레퍼런스들을 총 망라 하고 있습니다.<br />
그 결과 왼쪽 패키지 목록과 클래스 목록에서 다루는 패키지와 클래스의 갯수가 꽤 많이 늘어 난 것처럼 보이는데, 적절한 필터링을 해서 사용하면 되겠습니다.</p>
<div id="attachment_391" class="wp-caption alignnone" style="width: 600px"><img class="size-full wp-image-391" title="reference_14_multitouch" src="http://ufx.kr/blog/wp-content/uploads/2010/01/reference_14_multitouch.png" alt="reference_14_multitouch" width="590" height="437" /><p class="wp-caption-text">Flash Player 10.1 에 새로 추가된 Multitouch 클래스</p></div>
<p>이렇게 버전이 올라서 새로운 클래스가 업데이트 되어도 현재의 레퍼런스와는 크게 달라지는 점이 없습니다. 현재의 레퍼런스를 읽는데 어려움이 없다면 앞으로 훨씬 순조로운 개발을 할 수 있게되겠죠.</p>
<ol class="footnotes"><li id="footnote_0_378" class="footnote">ASDoc은 작은의미로 Flex SDK에 포함된 레퍼런스를 만드는 프로그램의 이름이기도 한데, 이 포스트에서는 그것보다는 큰 의미로 레퍼런스와 동일한 의미로 사용하였습니다.</li><li id="footnote_1_378" class="footnote">모든 내장 클래스들이 마찬가지 입니다.</li><li id="footnote_2_378" class="footnote">AIR의 R은 이미 Runtime 의 이니셜 입니다만, 여기서는 런타임이라는 것을 강조하기 위하여 상가&#8221;집&#8221; 식의 중복을 사용했습니다.</li><li id="footnote_3_378" class="footnote">Flash Player 10.1 부터는 모바일 디바이스를 위한 터치관련 메서드들이 조금 더 추가됩니다.</li><li id="footnote_4_378" class="footnote">그러나 한편으로는 Flash IDE버전에 올라가면 Flash Player 의 버전도 같이 올라가는 경우가 대부분이므로 완전히 별개라고 보기에도 어려움이 있긴 합니다.</li></ol>]]></content:encoded>
			<wfw:commentRss>http://ufx.kr/blog/378/feed</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
	</channel>
</rss>

