메뉴 건너뛰기

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
191 스위시맥스6강[Goto액션활용] [1] 에듀멘 2006.02.28 7801
190 아름다운 대한민국 플래시,렉토라강좌 윤선미 2007.02.12 7914
189 스위시강좌 // 불 켜고 끄기 (제작 : 달에 잠긴수련) [1] 문학의향기 2006.08.09 8014
188 [팁] 플래시 웹사이트의 사용성(Usability)을 높이기 위한 10가지 팁 [6] Rootin 2003.02.04 8104
187 답답강좌 -ㅂ- 무게감있게 떨어지는 공 [11] file 김지성 2003.01.08 8124
186 [플래시 MX 동영상 강좌] 11. 혼합 트위닝 [6] 서기 2005.05.30 8142
185 smooth한 움직임을 표현해보자 [2] 최대호 2007.01.03 8213
184 테두리 없는 플래시 윈도우 띄워주기 [7] 홈때기~♪ 2005.04.19 8233
183 ActionScript 2_4 sample [2] 하나둘 2006.07.20 8250
182 플래시에서 포토샵에서 작업한 깔끔한 투명 이미지 임포트 시키는 방법 [5] 홈때기~♪ 2005.04.19 8285
181 [플래시 MX 동영상 강좌] 15. 이미지 겔러리 제작하기 [9] 서기 2005.06.03 8367
180 [플래시 동영상강의] 플래시 위에 다른페이지 띄우기 [6] 서기 2006.03.17 8403
179 스위시맥스- 한글버젼 동영상강좌[1강~12강] 에듀멘 2006.03.08 8437
178 초를 켜고 명상을 해봐요 [1] [6] file oracleRider 2003.05.28 8467
177 사용사례 -전락북도[군산초등학교-정민수선생님] [1] 에듀멘 2006.08.11 8496
176 랜덤한 색상을 지닌 원형돌리기 [4] gimbob 2003.02.18 8566
175 [동영상]퍼즐을 맞추자!! [2] 이희덕 2002.09.24 8575
174 플래시 MX 2005 임박.... 그리고.. [8] Fc 2004.12.23 8638
173 [플래시 MX 동영상 강좌] 18. 에니메이션 버튼 제작하기 [12] 서기 2005.06.07 8642
172 불꽃이 흩어 지는 글씨효과만들기 [6] file 송정민 2006.10.24 8679