메뉴 건너뛰기

XE : Xpress Engine




웹디자인 강의

클래스 작성을 위해서 알아두어야 할 키워드는 다음과 같습니다.

dynamic, extends, implements, import, interface, new, static, public, private, Object.registerClass(), prototype, __proto__, super()

이것에 대해서 살펴봅니다.

dynamic
dynamic는 동적이라는 의미를 가진 단어로 클래스를 생성시 dynamic로 선언한 후 main에서 클래스 인스턴스주소를가리키는 레퍼런스에서는 클래스에 존재하지 않는 속성과 메서드를 추가적으로 만들 수 있게 됩니다.

extends
클래스를 상속받을 때 사용합니다.

implements
플래시에서는 자바처럼 상속이 단일화로 이루어지기 때문에 여러가지 형태의 다중 클래스 개념을 만들려면 인터페이스를 구현(implements)해 주어야 합니다.

import
import는 외부 패키지 또는 클래스를 현재 위치로 불러들일 때 사용합니다.
이 키워드는 문장의 제일 선두에 위치해야합니다.

다음처럼 사용할 수 있습니다.
import className
import packageName.*

interface
플래시 클래스에서는 클래스의 다중상속을 금하고, 다중상속이 필요한 경우 interface를 만들어서 사용하는 것을 권합니다.
인터페이스(interface)는 가장적으로 존재하기에 사양서와 같은 형태를 나타냅니다. 가령 함수는 함수호출부와 함수정의부로 나뉘어 진다면 함수호출부와 같은 역할을 하는 것이 interface입니다. 인터페이스에서는 클래스에서 필요한 기능의 이름을 담고 있습니다.
인터페이스를 구현(implements)하기 위해서는 implements 라는 키워드를 클래스에서 사용할 수 있습니다.
자세한 것은 인터페이스(interface)를 참조하십시요.

new
new는 키워드로 자유기억영역에 상점을 만들 때 사용되는 도구입니다. 상점은 곧 실존화된 객체를 나타냅니다.

static
static의 경우 크게 두가지로 사용합니다.
첫번째는 숫자데이터형의 값을 가진 카운트 변수가 해당 클래스 멤버를 사용할 때마다 값을 증가시키고자 할때입니다.
두번째의 경우는 메인(.fla)에서 클래스 메서드 혹은 속성에 객체를 사용하지 않고 클래스명을 빌려 사용할 때입니다.
첫번째와 두번째 모두 프로그램에서 유용하게 사용될 수 있습니다.

public
public 키워드는 범용 객체를 만들 때 사용합니다. 보통 접근제어자 혹은 수정자라고 부릅니다.
플래시액션스크립트파일(.as)에서 변수나 메서드를 선언시 이 접근제어자를 사용하지 않을 경우 플래시 멤버들은 기본이 public로 적용을 받습니다.

private
private는 public와 같이 플래시에서 사용되는 유일한 접근제어자입니다.
이 키워드를 사용하게 되면 외부 프로그램에서 값을 보호받을 수 있는 장점이 있습니다.

Object.registerClass()
이 메서드는 무비클립과 클래스와 합병시 주로 사용하던 유용한도구입니다.
동적일 때 개체를 복제시킬 수 있는 장점이 있으며 클래스파일을 반드시 사용해야 합니다.
AS1.0에서 사용하는 형태입니다.

prototype
상속사실이라고도 말합니다.
AS2.0에서는 public와 extends가 prototype의 일을 대부분 맡아서하게 됩니다.
여기서 대부분이라는 것은 prototype가 하는 모든 일을 public, extends를 사용해서 다 할 수는 없다는 것입니다.
특히 텍스트필드를 상속시킬 때 AS2.0으로는 불가능합니다.
ex)
TextField.prototype.onSetFocus = fucntion()
{
    // any statement(s)
}

텍스트 필드를 만들게 되면 자동으로 onSetFocus에서 설정해놓은 것을 상속받게 되지만 AS2.0으로는 불가능합니다.

__proto__
이 키워드는 prototype와 연관지어져 있습니다.
AS2.0으로 말한다면 public, extends와 연관되며, 범용상속된 클래스 멤버를 보관하게 됩니다.
해당 객체가 가진 메서드 및 속성을 조사하고자 할 때 유용하게 사용될 수 있습니다.
AS2.0에서는 prototype형태를 구현하기 위해서 대신 사용되기도 합니다.
ex)
Instance01.__proto__ = new SomeClass();


super()
super의 경우는 상 하위 클래스 관계일 때 상속을 위해서 사용됩니다.
서브클래스가 수퍼클래스의 모든 것을 물려받았을 경우 서브클래스는 수퍼클래스를 초기화시켜줄 의무가 있습니다.
즉, 수퍼클래스를 초기화시킬 때 사용하는 상위 클래스에 대한 레퍼런스입니다.
현재에 대한 레퍼런스는 this를 제공하고 있습니다.


이제 클래스 작성하려면 다음과 같이 작성할 수 있습니다.
[]첨자로 된 부분은 옵션이므로 생략될 수 있습니다.

클래스 작성의 스펙은 다음과 같다.
[dynamic] class className  [ extends superClass ][ implements interfaceName [, interfaceName... ] ]
{
     // class definition here
}

이것을 바탕으로 이제 클래스를 만들 수 있습니다.




----------------------------------------------
[Fc]
+I'm from your friendsofed Fc
+http://www.ysbn200.com
+http://www.flashconference.co.kr
+한국 플래시컨퍼런스 코리아
+jk9089@hanafos.com
번호 제목 글쓴이 날짜 조회 수
공지 공지 강좌를 올리기전 공지사항을 읽어주세요 [12] Eccen 2004.12.15 48031
211 [ 플래시 2004 프로페셔널 ] AS2.0의 기초 [1] Fc 2004.02.25 6846
210 다양한 색상으로 입체효과주기(그라디언트) [1] 펀에듀넷 2006.04.24 6900
209 [플래시 MX 동영상 강좌] 30. onClipEvent를 이용한 무비클립의 회전 [8] 서기 2005.07.08 6947
208 플래시를 이용한 원그래프 그리기입니다. [2] file 삐리리 2005.07.04 7170
207 플래시와 제로보드 연동 기초 (외부 TXT 파일 호출 하여 뿌려주기) [6] 홈때기~♪ 2005.05.20 7191
206 정말급한데요. 플래시 쇼핑몰 제품 스크롤에 대해 [3] file 홍성필 2006.06.05 7222
205 Flash MX의 Action Script에서 이벤트 제어를 메소드로 하기.. [4] file coens 2002.03.23 7417
204 [플래시 MX 동영상 강좌] 32. IF문의 심화 [2] 서기 2005.08.03 7448
203 [플래시 MX 동영상 강좌] 14.기본적인 베너 제작하기 [13] 서기 2005.06.02 7478
202 [플래시 MX 동영상 강좌] 7. 트위닝 옵션 [10] 서기 2005.05.26 7483
201 플래시를 시작하기 위한 준비 [1] Fc 2005.05.06 7495
200 [입문]플래쉬의 이해 [7] file 황남운 2004.01.07 7501
199 [플래시 MX 동영상 강좌] 29. 프리로더의 제작 [11] 서기 2005.07.01 7534
198 [중급]telltarget 사용예제 [3] 박은석 2002.10.24 7644
197 아래 만든메뉴 mx2004 버젼입니다 [1] file 한태종 2007.02.26 7713
196 [플래시 MX 동영상 강좌] 17. 여러개의 파일을 이용한 홈페이지 제작 [20] 서기 2005.06.06 7732
195 [중급] 가위,바위,보 게임 승패 판정법 [4] file 박승제 2004.04.26 7737
194 확대해서 보기(일명 돋보기 효과!!) [5] e-ssine.com 2002.12.13 7748
193 [플래시 MX 동영상 강좌] 6. 텍스트 에니메이션 [13] 서기 2005.05.25 7781
192 [허접팁=_=;;] 플래시루 간단하게 3D 사각형 그리기 [8] file 황현구 2002.12.13 7790