메뉴 건너뛰기

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
2415 [MN] 이미지 X-ray효과내기 [7] mewnew 2002.09.10 236
2414 [나모웹 초보자] 이미지 맵을 만들어 보자~! [1] file 나만의길 2004.07.18 325
2413 [도트] 집 만들기?? [7] file (_*_) 2002.02.25 482
2412 [ XML 소켓 채팅 ] [2] file Fc 2004.02.26 514
2411 3D SHEET 만들기 [5] file 카라 2002.02.21 536
2410 [나모 FX] 이미지맵 간편하게 나모로 하기 ( 처음하는 강좌 ;;; ) [14] file 박한웅 2003.12.07 602
2409 [프로모션]제4회 달리는 애니메이션 만들기 [13] 정현석 2002.08.27 646
2408 [페인트샵8.0]합성!!나도 함 해보자!! 간단하게 합성하기! [4] file 대현 2003.12.13 715
2407 구름만들기; [27] Nㆍzna 2002.02.21 757
2406 [바비의 일러스트]일러 갤러리-1 [21] file 바비인형 2002.04.26 853
2405 플래시 무비의 프레임률이 막 떨어질때, [16] 유군-_-)/ 2002.02.21 860
2404 [퍼니페인트]도장 만들기 [1] funnyPSP 2002.02.23 925
2403 햇볕이 비추는듯한....음...태양의 코로나 같은 효과...^^ [24] file 천민수 2002.02.21 979
2402 네모난 사진 동그랗게 만들기 강의입니다. [6] file 이형진 2003.10.09 987
2401 간단하게 폰트 이쁘게 하기 [3] file 4u4u 2007.09.06 1004
2400 [동영상] 제5강 max 건축 인테리어 개요 인테리어뱅크 2006.04.11 1064
2399 [PHOTOSHOP]금속성 문자 만들기 [6] file (_*_) 2002.02.21 1073
2398 킴스웹에듀 ~~ 플래시 강좌사이트 입니다. kim's 2007.07.30 1263
2397 굿 웹 디자인 사이트들 링크 [11] 박성렬 2002.04.05 1305
2396 포토샵강좌 - 별만들기 [1] file IamAndy 2007.07.11 1373