Adobe® Flash® Platform용 ActionScript® 3.0 참조 설명서
 |  패키지 및 클래스 목록 숨기기 |  패키지  |  클래스  |  새로운 내용  |  색인  |  부록  |  영어로 표시되는 이유
필터: AIR 30.0 이하, Flash Player 30.0 이하, Flash Lite 4
Flex 4.6 이하, Flash Pro CS6 이하
필터 숨기기
 

명령문, 키워드 및 지시문 

패키지x

최상위 레벨
adobe.utils
air.desktop
air.net
air.update
air.update.events
coldfusion.air
coldfusion.air.errors
coldfusion.air.events
coldfusion.service
coldfusion.service.events
coldfusion.service.mxml
com.adobe.acm.solutions.authoring.domain.extensions
com.adobe.acm.solutions.ccr.domain.extensions
com.adobe.consulting.pst.vo
com.adobe.dct.component
com.adobe.dct.component.datadictionary
com.adobe.dct.component.datadictionaryElement
com.adobe.dct.component.dataElementsPanel
com.adobe.dct.component.toolbars
com.adobe.dct.event
com.adobe.dct.exp
com.adobe.dct.model
com.adobe.dct.service
com.adobe.dct.service.provider
com.adobe.dct.transfer
com.adobe.dct.util
com.adobe.dct.view
com.adobe.ep.taskmanagement.domain
com.adobe.ep.taskmanagement.event
com.adobe.ep.taskmanagement.filter
com.adobe.ep.taskmanagement.services
com.adobe.ep.taskmanagement.util
com.adobe.ep.ux.attachmentlist.component
com.adobe.ep.ux.attachmentlist.domain
com.adobe.ep.ux.attachmentlist.domain.events
com.adobe.ep.ux.attachmentlist.domain.renderers
com.adobe.ep.ux.attachmentlist.skin
com.adobe.ep.ux.attachmentlist.skin.renderers
com.adobe.ep.ux.content.event
com.adobe.ep.ux.content.factory
com.adobe.ep.ux.content.handlers
com.adobe.ep.ux.content.managers
com.adobe.ep.ux.content.model.asset
com.adobe.ep.ux.content.model.preview
com.adobe.ep.ux.content.model.relation
com.adobe.ep.ux.content.model.search
com.adobe.ep.ux.content.model.toolbar
com.adobe.ep.ux.content.search
com.adobe.ep.ux.content.services
com.adobe.ep.ux.content.services.load
com.adobe.ep.ux.content.services.permissions
com.adobe.ep.ux.content.services.preview
com.adobe.ep.ux.content.services.providers
com.adobe.ep.ux.content.services.query
com.adobe.ep.ux.content.services.relationships
com.adobe.ep.ux.content.services.search.lccontent
com.adobe.ep.ux.content.services.version
com.adobe.ep.ux.content.view
com.adobe.ep.ux.content.view.components.activate
com.adobe.ep.ux.content.view.components.grid
com.adobe.ep.ux.content.view.components.grid.hover
com.adobe.ep.ux.content.view.components.grid.hover.component
com.adobe.ep.ux.content.view.components.grid.renderers
com.adobe.ep.ux.content.view.components.relationships
com.adobe.ep.ux.content.view.components.review
com.adobe.ep.ux.content.view.components.search.renderers
com.adobe.ep.ux.content.view.components.searchpod
com.adobe.ep.ux.content.view.components.toolbar
com.adobe.ep.ux.content.view.components.toolbar.controlRenderers
com.adobe.ep.ux.content.view.components.version
com.adobe.ep.ux.documentsubmit.component
com.adobe.ep.ux.documentsubmit.domain
com.adobe.ep.ux.documentsubmit.skin
com.adobe.ep.ux.taskaction.component
com.adobe.ep.ux.taskaction.domain
com.adobe.ep.ux.taskaction.domain.events
com.adobe.ep.ux.taskaction.skin
com.adobe.ep.ux.taskdetails.component
com.adobe.ep.ux.taskdetails.domain
com.adobe.ep.ux.taskdetails.skin
com.adobe.ep.ux.tasklist.component
com.adobe.ep.ux.tasklist.domain
com.adobe.ep.ux.tasklist.skin
com.adobe.ep.ux.webdocumentviewer.domain
com.adobe.exm.expression
com.adobe.exm.expression.error
com.adobe.exm.expression.event
com.adobe.exm.expression.impl
com.adobe.fiber.runtime.lib
com.adobe.fiber.services
com.adobe.fiber.services.wrapper
com.adobe.fiber.styles
com.adobe.fiber.util
com.adobe.fiber.valueobjects
com.adobe.gravity.binding
com.adobe.gravity.context
com.adobe.gravity.flex.bundleloader
com.adobe.gravity.flex.progress
com.adobe.gravity.flex.serviceloader
com.adobe.gravity.framework
com.adobe.gravity.init
com.adobe.gravity.service.bundleloader
com.adobe.gravity.service.logging
com.adobe.gravity.service.manifest
com.adobe.gravity.service.progress
com.adobe.gravity.tracker
com.adobe.gravity.ui
com.adobe.gravity.utility
com.adobe.gravity.utility.async
com.adobe.gravity.utility.error
com.adobe.gravity.utility.events
com.adobe.gravity.utility.factory
com.adobe.gravity.utility.flex.async
com.adobe.gravity.utility.logging
com.adobe.gravity.utility.message
com.adobe.gravity.utility.sequence
com.adobe.gravity.utility.url
com.adobe.guides.control
com.adobe.guides.domain
com.adobe.guides.i18n
com.adobe.guides.spark.components.skins
com.adobe.guides.spark.components.skins.mx
com.adobe.guides.spark.headers.components
com.adobe.guides.spark.headers.skins
com.adobe.guides.spark.layouts.components
com.adobe.guides.spark.layouts.skins
com.adobe.guides.spark.navigators.components
com.adobe.guides.spark.navigators.renderers
com.adobe.guides.spark.navigators.skins
com.adobe.guides.spark.util
com.adobe.guides.spark.wrappers.components
com.adobe.guides.spark.wrappers.skins
com.adobe.guides.submit
com.adobe.icc.dc.domain
com.adobe.icc.dc.domain.factory
com.adobe.icc.editors.events
com.adobe.icc.editors.handlers
com.adobe.icc.editors.managers
com.adobe.icc.editors.model
com.adobe.icc.editors.model.config
com.adobe.icc.editors.model.el
com.adobe.icc.editors.model.el.operands
com.adobe.icc.editors.model.el.operators
com.adobe.icc.enum
com.adobe.icc.external.dc
com.adobe.icc.obj
com.adobe.icc.services
com.adobe.icc.services.category
com.adobe.icc.services.config
com.adobe.icc.services.download
com.adobe.icc.services.export
com.adobe.icc.services.external
com.adobe.icc.services.formbridge
com.adobe.icc.services.fragmentlayout
com.adobe.icc.services.layout
com.adobe.icc.services.letter
com.adobe.icc.services.locator
com.adobe.icc.services.module
com.adobe.icc.services.render
com.adobe.icc.services.submit
com.adobe.icc.services.user
com.adobe.icc.token
com.adobe.icc.vo
com.adobe.icc.vo.render
com.adobe.icomm.assetplacement.controller
com.adobe.icomm.assetplacement.controller.utils
com.adobe.icomm.assetplacement.data
com.adobe.icomm.assetplacement.model
com.adobe.livecycle.assetmanager.client
com.adobe.livecycle.assetmanager.client.event
com.adobe.livecycle.assetmanager.client.handler
com.adobe.livecycle.assetmanager.client.managers
com.adobe.livecycle.assetmanager.client.model
com.adobe.livecycle.assetmanager.client.model.cms
com.adobe.livecycle.assetmanager.client.service
com.adobe.livecycle.assetmanager.client.service.search
com.adobe.livecycle.assetmanager.client.service.search.cms
com.adobe.livecycle.assetmanager.client.utils
com.adobe.livecycle.content
com.adobe.livecycle.rca.model
com.adobe.livecycle.rca.model.constant
com.adobe.livecycle.rca.model.document
com.adobe.livecycle.rca.model.participant
com.adobe.livecycle.rca.model.reminder
com.adobe.livecycle.rca.model.stage
com.adobe.livecycle.rca.service
com.adobe.livecycle.rca.service.core
com.adobe.livecycle.rca.service.core.delegate
com.adobe.livecycle.rca.service.process
com.adobe.livecycle.rca.service.process.delegate
com.adobe.livecycle.rca.token
com.adobe.livecycle.ria.security.api
com.adobe.livecycle.ria.security.service
com.adobe.mosaic.layouts
com.adobe.mosaic.layouts.dragAndDrop
com.adobe.mosaic.layouts.interfaces
com.adobe.mosaic.mxml
com.adobe.mosaic.om.constants
com.adobe.mosaic.om.events
com.adobe.mosaic.om.impl
com.adobe.mosaic.om.interfaces
com.adobe.mosaic.skinning
com.adobe.mosaic.sparklib.editors
com.adobe.mosaic.sparklib.optionMenu
com.adobe.mosaic.sparklib.scrollableMenu
com.adobe.mosaic.sparklib.scrollableMenu.skins
com.adobe.mosaic.sparklib.tabLayout
com.adobe.mosaic.sparklib.tabLayout.events
com.adobe.mosaic.sparklib.tabLayout.layouts
com.adobe.mosaic.sparklib.tabLayout.skins
com.adobe.mosaic.sparklib.text
com.adobe.mosaic.sparklib.util
com.adobe.solutions.acm.authoring.presentation
com.adobe.solutions.acm.authoring.presentation.actionbar
com.adobe.solutions.acm.authoring.presentation.common
com.adobe.solutions.acm.authoring.presentation.events
com.adobe.solutions.acm.authoring.presentation.fragment
com.adobe.solutions.acm.authoring.presentation.letter
com.adobe.solutions.acm.authoring.presentation.letter.data
com.adobe.solutions.acm.authoring.presentation.preview
com.adobe.solutions.acm.authoring.presentation.rte
com.adobe.solutions.acm.ccr.presentation
com.adobe.solutions.acm.ccr.presentation.contentcapture
com.adobe.solutions.acm.ccr.presentation.contentcapture.events
com.adobe.solutions.acm.ccr.presentation.contentcapture.preview
com.adobe.solutions.acm.ccr.presentation.datacapture
com.adobe.solutions.acm.ccr.presentation.datacapture.renderers
com.adobe.solutions.acm.ccr.presentation.pdf
com.adobe.solutions.exm
com.adobe.solutions.exm.authoring
com.adobe.solutions.exm.authoring.components.controls
com.adobe.solutions.exm.authoring.components.toolbars
com.adobe.solutions.exm.authoring.domain
com.adobe.solutions.exm.authoring.domain.expression
com.adobe.solutions.exm.authoring.domain.impl
com.adobe.solutions.exm.authoring.domain.method
com.adobe.solutions.exm.authoring.domain.variable
com.adobe.solutions.exm.authoring.enum
com.adobe.solutions.exm.authoring.events
com.adobe.solutions.exm.authoring.model
com.adobe.solutions.exm.authoring.renderer
com.adobe.solutions.exm.authoring.view
com.adobe.solutions.exm.expression
com.adobe.solutions.exm.impl
com.adobe.solutions.exm.impl.method
com.adobe.solutions.exm.method
com.adobe.solutions.exm.mock
com.adobe.solutions.exm.mock.method
com.adobe.solutions.exm.runtime
com.adobe.solutions.exm.runtime.impl
com.adobe.solutions.exm.variable
com.adobe.solutions.prm.constant
com.adobe.solutions.prm.domain
com.adobe.solutions.prm.domain.factory
com.adobe.solutions.prm.domain.impl
com.adobe.solutions.prm.domain.manager
com.adobe.solutions.prm.presentation.asset
com.adobe.solutions.prm.presentation.constant
com.adobe.solutions.prm.presentation.document
com.adobe.solutions.prm.presentation.event
com.adobe.solutions.prm.presentation.file
com.adobe.solutions.prm.presentation.project
com.adobe.solutions.prm.presentation.team
com.adobe.solutions.prm.presentation.util
com.adobe.solutions.prm.service
com.adobe.solutions.prm.services.impl
com.adobe.solutions.prm.vo
com.adobe.solutions.rca.constant
com.adobe.solutions.rca.domain
com.adobe.solutions.rca.domain.common
com.adobe.solutions.rca.domain.factory
com.adobe.solutions.rca.domain.impl
com.adobe.solutions.rca.domain.impl.manager
com.adobe.solutions.rca.domain.manager
com.adobe.solutions.rca.presentation
com.adobe.solutions.rca.presentation.comment
com.adobe.solutions.rca.presentation.constant
com.adobe.solutions.rca.presentation.event
com.adobe.solutions.rca.presentation.gantt
com.adobe.solutions.rca.presentation.gantt.ruler
com.adobe.solutions.rca.presentation.template
com.adobe.solutions.rca.presentation.template.audit
com.adobe.solutions.rca.presentation.template.definition
com.adobe.solutions.rca.presentation.template.documents
com.adobe.solutions.rca.presentation.template.stages
com.adobe.solutions.rca.presentation.util
com.adobe.solutions.rca.service
com.adobe.solutions.rca.services.impl
com.adobe.solutions.rca.vo
com.adobe.solutions.rca.vo.um
com.adobe.viewsource
fl.accessibility
fl.containers
fl.controls
fl.controls.dataGridClasses
fl.controls.listClasses
fl.controls.progressBarClasses
fl.core
fl.data
fl.display
fl.events
fl.ik
fl.lang
fl.livepreview
fl.managers
fl.motion
fl.motion.easing
fl.rsl
fl.text
fl.transitions
fl.transitions.easing
fl.video
flash.accessibility
flash.concurrent
flash.crypto
flash.data
flash.desktop
flash.display
flash.display3D
flash.display3D.textures
flash.errors
flash.events
flash.external
flash.filesystem
flash.filters
flash.geom
flash.globalization
flash.html
flash.media
flash.net
flash.net.dns
flash.net.drm
flash.notifications
flash.permissions
flash.printing
flash.profiler
flash.sampler
flash.security
flash.sensors
flash.system
flash.text
flash.text.engine
flash.text.ime
flash.ui
flash.utils
flash.xml
flashx.textLayout
flashx.textLayout.compose
flashx.textLayout.container
flashx.textLayout.conversion
flashx.textLayout.edit
flashx.textLayout.elements
flashx.textLayout.events
flashx.textLayout.factory
flashx.textLayout.formats
flashx.textLayout.operations
flashx.textLayout.utils
flashx.undo
ga.controls
ga.layouts
ga.model
ga.uiComponents
ga.util
ga.views
ga.wrappers
lc.foundation
lc.foundation.domain
lc.foundation.events
lc.foundation.ui
lc.foundation.util
lc.preloader
lc.procmgmt
lc.procmgmt.commands
lc.procmgmt.domain
lc.procmgmt.events
lc.procmgmt.formbridge
lc.procmgmt.impl
lc.procmgmt.ui.attachments
lc.procmgmt.ui.controls
lc.procmgmt.ui.controls.card
lc.procmgmt.ui.controls.renderer
lc.procmgmt.ui.help
lc.procmgmt.ui.layout
lc.procmgmt.ui.presentationmodel
lc.procmgmt.ui.process
lc.procmgmt.ui.search
lc.procmgmt.ui.startpoint
lc.procmgmt.ui.task
lc.procmgmt.ui.task.form
lc.procmgmt.ui.task.form.commands
lc.procmgmt.ui.tracking
mx.accessibility
mx.automation
mx.automation.air
mx.automation.delegates
mx.automation.delegates.advancedDataGrid
mx.automation.delegates.charts
mx.automation.delegates.containers
mx.automation.delegates.controls
mx.automation.delegates.controls.dataGridClasses
mx.automation.delegates.controls.fileSystemClasses
mx.automation.delegates.core
mx.automation.delegates.flashflexkit
mx.automation.events
mx.binding
mx.binding.utils
mx.charts
mx.charts.chartClasses
mx.charts.effects
mx.charts.effects.effectClasses
mx.charts.events
mx.charts.renderers
mx.charts.series
mx.charts.series.items
mx.charts.series.renderData
mx.charts.styles
mx.collections
mx.collections.errors
mx.containers
mx.containers.accordionClasses
mx.containers.dividedBoxClasses
mx.containers.errors
mx.containers.utilityClasses
mx.controls
mx.controls.advancedDataGridClasses
mx.controls.dataGridClasses
mx.controls.listClasses
mx.controls.menuClasses
mx.controls.olapDataGridClasses
mx.controls.scrollClasses
mx.controls.sliderClasses
mx.controls.textClasses
mx.controls.treeClasses
mx.controls.videoClasses
mx.core
mx.core.windowClasses
mx.data
mx.data.crypto
mx.data.errors
mx.data.events
mx.data.messages
mx.data.mxml
mx.data.offline.errors
mx.data.utils
mx.effects
mx.effects.easing
mx.effects.effectClasses
mx.events
mx.filters
mx.flash
mx.formatters
mx.geom
mx.graphics
mx.graphics.codec
mx.graphics.shaderClasses
mx.logging
mx.logging.errors
mx.logging.targets
mx.managers
mx.messaging
mx.messaging.channels
mx.messaging.config
mx.messaging.errors
mx.messaging.events
mx.messaging.management
mx.messaging.messages
mx.modules
mx.netmon
mx.olap
mx.olap.aggregators
mx.preloaders
mx.printing
mx.resources
mx.rpc
mx.rpc.events
mx.rpc.http
mx.rpc.http.mxml
mx.rpc.livecycle
mx.rpc.mxml
mx.rpc.remoting
mx.rpc.remoting.mxml
mx.rpc.soap
mx.rpc.soap.mxml
mx.rpc.wsdl
mx.rpc.xml
mx.skins
mx.skins.halo
mx.skins.spark
mx.skins.wireframe
mx.skins.wireframe.windowChrome
mx.states
mx.styles
mx.utils
mx.validators
org.osmf.containers
org.osmf.display
org.osmf.elements
org.osmf.events
org.osmf.layout
org.osmf.logging
org.osmf.media
org.osmf.metadata
org.osmf.net
org.osmf.net.dvr
org.osmf.net.httpstreaming
org.osmf.net.metrics
org.osmf.net.qos
org.osmf.net.rtmpstreaming
org.osmf.net.rules
org.osmf.traits
org.osmf.utils
spark.accessibility
spark.automation.delegates
spark.automation.delegates.components
spark.automation.delegates.components.gridClasses
spark.automation.delegates.components.mediaClasses
spark.automation.delegates.components.supportClasses
spark.automation.delegates.skins.spark
spark.automation.events
spark.collections
spark.components
spark.components.calendarClasses
spark.components.gridClasses
spark.components.mediaClasses
spark.components.supportClasses
spark.components.windowClasses
spark.core
spark.effects
spark.effects.animation
spark.effects.easing
spark.effects.interpolation
spark.effects.supportClasses
spark.events
spark.filters
spark.formatters
spark.formatters.supportClasses
spark.globalization
spark.globalization.supportClasses
spark.layouts
spark.layouts.supportClasses
spark.managers
spark.modules
spark.preloaders
spark.primitives
spark.primitives.supportClasses
spark.skins
spark.skins.mobile
spark.skins.mobile.supportClasses
spark.skins.spark
spark.skins.spark.mediaClasses.fullScreen
spark.skins.spark.mediaClasses.normal
spark.skins.spark.windowChrome
spark.skins.wireframe
spark.skins.wireframe.mediaClasses
spark.skins.wireframe.mediaClasses.fullScreen
spark.transitions
spark.utils
spark.validators
spark.validators.supportClasses
xd.core.axm.enterprise.view.components
xd.core.axm.enterprise.view.skins
xd.core.axm.view.components
xd.core.axm.view.components.support

언어 요소

전역 상수
전역 함수
연산자
명령문, 키워드 및 지시문
특수 유형 연산자

부록

새로운 내용
컴파일러 오류
컴파일러 경고
런타임 오류
ActionScript 3으로 마이그레이션
지원되는 문자 세트
MXML 전용 태그
모션 XML 요소
Timed Text 태그
사용되지 않는 요소의 목록
액세스 가능성 구현 상수
ActionScript 예제 사용 방법
법적 고지 사항

클래스 x

AAAARecord    
AbandonCommand
ABRUtils
AbstractConsumer
AbstractEntityMetadata
AbstractEvent
AbstractInvoker
AbstractMessage
AbstractOperation
AbstractOperation
AbstractParticipant
AbstractProducer
AbstractSearchFilterVO
AbstractService
AbstractServiceWrapper
AbstractStage
AbstractTarget
AbstractWebService
AccConst
Accelerometer
AccelerometerEvent
Accessibility
AccessibilityImplementation
AccessibilityProperties
AccessibleButton
AccessibleText
AccessPrivileges
AccImpl
AccImpl
Accordion
AccordionAutomationImpl
AccordionHeader
AccordionHeaderAccImpl
AccordionHeaderSkin
AccordionHeaderSkin
AccordionHeaderSkin
AccordionNav
AccordionSkin
AcknowledgeMessage
ACMRelationshipManager
ActionBar
ActionBar    
ActionBarButtonSkinBase
ActionBarDefaultButtonAppearance    
ActionBarSkin    
ActionEffectInstance
ActionRenderer
ActionScriptVersion
ActionSelectedEvent
ActivationBrowser
ActivatorSkin
ActiveContentEvent
ActiveDataEvent
ActivityEvent
ActualBitrateMetric
AddAction
AddActionInstance
AddApprovalStageParticipant
AddAssetPopUp
AddChild
AddChildAction
AddChildActionInstance
AddCreatorDialog
AddItemAction
AddItemActionInstance
AddItems
AddPanelButton
AddPanelEvent
AddRemoveEffectTargetFilter
AddReviewStageParticipant
AddServiceEvent
AddStageParticipant
AddTileEvent
AddViewEvent
AddViewManagerEvent
AdjustColor
AdvanceDataElementsPanel
AdvancedChannelSet
AdvancedDataGrid
AdvancedDataGridAccImpl
AdvancedDataGridAutomationImpl
AdvancedDataGridBase
AdvancedDataGridBaseEx
AdvancedDataGridBaseExAutomationImpl
AdvancedDataGridBaseSelectionData
AdvancedDataGridColumn
AdvancedDataGridColumnGroup
AdvancedDataGridDragProxy
AdvancedDataGridEvent
AdvancedDataGridEventReason
AdvancedDataGridGroupItemRenderer
AdvancedDataGridGroupItemRendererAutomationImpl
AdvancedDataGridHeaderHorizontalSeparator
AdvancedDataGridHeaderInfo
AdvancedDataGridHeaderRenderer
AdvancedDataGridHeaderShiftEvent
AdvancedDataGridItemRenderer
AdvancedDataGridItemRendererAutomationImpl
AdvancedDataGridItemSelectEvent
AdvancedDataGridListData
AdvancedDataGridRendererDescription
AdvancedDataGridRendererProvider
AdvancedDataGridSortItemRenderer
AdvancedListBase
AdvancedListBaseAutomationImpl
AdvancedListBaseContentHolderAutomationImpl
AdvancedSearchPod
AdvancedStyleClient
AfterUpSwitchBufferBandwidthRule
AggregatingToken
AggregatingTokenError
AirDragManagerAutomationHandler
AIREvent    
AirFunctionsHelper
Alert
AlertAccImpl
AlertAutomationImpl
AlertFormatter
AlertFormAutomationImpl
AlignmentArea
AllRuntimeSparkControls
AlternativeAudioEvent
AlternativeAudioTrait
AMFChannel
AndOperator
Animate
AnimateColor
AnimateColorInstance
AnimateFilter
AnimateFilterInstance
AnimateInstance
AnimateProperty
AnimatePropertyInstance
AnimateTransform
AnimateTransform3D
AnimateTransformInstance
AnimateTransitionShader
AnimateTransitionShaderInstance
Animation
Animator
Animator3D
AnimatorBase
AnimatorFactory
AnimatorFactory3D
AnimatorFactoryBase
AnimatorFactoryUniversal
AnimatorUniversal
AnnotationParseEvent
AntiAliasType
Application
Application
Application
ApplicationAutomationImpl
ApplicationBackground
ApplicationConstants
ApplicationControlBar
ApplicationDomain
ApplicationDomainTarget
ApplicationListItem
ApplicationSkin
ApplicationSkin
ApplicationSpecifier
ApplicationTitleBarBackgroundSkin    
ApplicationUpdater    
ApplicationUpdaterUI    
ApplyElementIDOperation
ApplyElementStyleNameOperation
ApplyElementTypeNameOperation
ApplyElementUserStyleOperation
ApplyFormatOperation
ApplyFormatToElementOperation
ApplyLinkOperation
ApplyTCYOperation
ApprovalStage
ApprovalStage
Approver
Approver
ApproverCollection
ApproverStatus
ApproverStatus
ApproverVO
AreaChart
AreaRenderer
AreaSeries
AreaSeriesAutomationImpl
AreaSeriesItem
AreaSeriesRenderData
AreaSet
ARecord    
ArgumentError
arguments
Array
ArrayCollection
ArrayList
ArrayUtil
ArrowDirection    
Asset
AssetAction
AssetAction
AssetActionCompleteEvent
AssetActionCompleteEvent
AssetActionEvent
AssetActionEvent
AssetActionsChangeEvent
AssetDetailsPod
AssetEvent
AssetExplorerServiceDelegate
AssetFocusEvent
AssetHandlerRegistry
AssetHandlerRegistry
AssetManager
AssetManager
AssetManagerView
AssetModel
AssetPod
AssetPropertiesEditor
AssetPropertyDescriptor
AssetPropertyDescriptor
AssetQueryServiceDelegate
AssetReviewPod
AssetTypeDescriptor
AssetTypeDescriptor
AssetValidationEvent
AssetValidationFaultType
AssetVersionPod
AssetVO
Assignment
AssignmentConstants
AsyncErrorEvent
AsyncListView
AsyncMessage
AsyncRequest
AsyncResponder
AsyncToken
AsyncTokenResponder
AsyncTokenWrapper
Attachment
AttachmentCommand
AttachmentEvent
AttachmentHeader
AttachmentHeaderBase
AttachmentHeaderModel
AttachmentIconRenderer
AttachmentIconRendererSkin
AttachmentInfo
AttachmentList
AttachmentList
AttachmentListComponent
AttachmentListModel
AttachmentListSkin
AttachmentLoader
AttachmentPermissions
Attachments
AttachmentsModel
Attribute
AudioDecoder
AudioDeviceManager
AudioElement
AudioEvent
AudioOutputChangeEvent
AudioOutputChangeReason
AudioPlaybackMode    
AudioTrait
AuditActionVO
AuditAttributeVO
AuditLevel
AuditLevel
AuditLevelVO
AuditManager
AuditMetaInfoVO
AuditModuleVO
Auditor
AugmentedError
AugmentedErrorEvent
AuthenticatingApplication
AuthenticationEvent
AuthenticationMethod
AuthFailureCode
AuthOptions
Author
AuthorStatus
AuthorVO
AuthResult
AuthStatus
AutoCapitalize    
AutoLayoutEvent
Automation
AutomationAirEvent
AutomationClass
AutomationDragEvent
AutomationDragEventWithPositionInfo
AutomationError
AutomationEvent
AutomationEventDescriptor
AutomationFlexNativeMenuEvent
AutomationHelper
AutomationID
AutomationIDPart
AutomationManager
AutomationMethodDescriptor
AutomationPropertyDescriptor
AutomationRecordEvent
AutomationReplayEvent
AvailablePropertyIterator
AvailableQualityLevelsMetric
AVDictionaryDataEvent
AverageAggregator
AVHTTPStatusEvent
AVLoader
AVM1Movie
AVNetworkingParams
AVPauseAtPeriodEndEvent
AVTagData
AVURLLoader
AVURLStream
AxisBase
AxisLabel
AxisLabelSet
AxisRenderer
AxisRendererAutomationImpl
AXMAccordion
AXMAccordionItemVO
AXMAccordionSegment
AXMBreadCrumb
AXMButton
AXMButtonBar
AXMButtonBarButton
AXMCheckBox
AXMComboBox
AXMDropDownList
AXMDropDownListBase
AXMEnterpriseAccordionSegmentSkin
AXMEnterpriseAccordionSkin
AXMEnterpriseAssetTabBar
AXMEnterpriseAssetTabBarButtonSkin
AXMEnterpriseAssetTabBarSkin
AXMEnterpriseAssetViewTabBar
AXMEnterpriseAssetViewTabBarButtonSkin
AXMEnterpriseAssetViewTabBarSkin
AXMEnterpriseBreadCrumbButtonSkin
AXMEnterpriseBreadCrumbFocusSkin
AXMEnterpriseBreadCrumbSkin
AXMEnterpriseButtonBarFirstButtonSkin
AXMEnterpriseButtonBarLastButtonSkin
AXMEnterpriseButtonBarMiddleButtonSkin
AXMEnterpriseButtonBarSkin
AXMEnterpriseButtonSkin
AXMEnterpriseCheckboxSkin
AXMEnterpriseCheckboxSmallSkin
AXMEnterpriseClosableTabBarButtonSkin
AXMEnterpriseClosableTabBarSkin
AXMEnterpriseCloseButtonSkin
AXMEnterpriseComboBoxButtonSkin
AXMEnterpriseComboBoxSkin
AXMEnterpriseComboBoxTextInputSkin
AXMEnterpriseDropDownListButtonSkin
AXMEnterpriseDropDownListItemRenderer
AXMEnterpriseDropDownListSkin
AXMEnterpriseFocusSkin
AXMEnterpriseFooterSkin
AXMEnterpriseGridHeaderRenderer
AXMEnterpriseGridSkin
AXMEnterpriseHeaderBarSkin
AXMEnterpriseHeaderButtonBar
AXMEnterpriseHScrollBarLargeSkin
AXMEnterpriseHScrollbarNoControlsSkin
AXMEnterpriseHScrollbarSkin
AXMEnterpriseHScrollbarThumbSkin
AXMEnterpriseHScrollbarTrackNoControlsSkin
AXMEnterpriseHScrollbarTrackSkin
AXMEnterpriseIconButtonSkin
AXMEnterpriseLargeButtonSkin
AXMEnterpriseLargeToggleButtonSkin
AXMEnterpriseNavigationButtonBarSkin
AXMEnterpriseNumericStepperDecrementButtonSkin
AXMEnterpriseNumericStepperIncrementButtonSkin
AXMEnterpriseNumericStepperSkin
AXMEnterpriseNumericStepperTextInputSkin
AXMEnterprisePanelSkin
AXMEnterpriseProgressSpinnerSkin
AXMEnterpriseQuietButtonSkin
AXMEnterpriseQuietHeaderBarButton
AXMEnterpriseQuietLargeButtonSkin
AXMEnterpriseQuietLargeDropDownListButtonSkin
AXMEnterpriseRadioButtonSkin
AXMEnterpriseResizeHandleSkin
AXMEnterpriseScrollDownArrowSkin
AXMEnterpriseScrollLeftArrowSkin
AXMEnterpriseScrollRightArrowSkin
AXMEnterpriseScrollUpArrowSkin
AXMEnterpriseSlideToggleButton
AXMEnterpriseSplitActionButtonSkin
AXMEnterpriseSplitActionPopUpButtonSkin
AXMEnterpriseSplitActionSkin
AXMEnterpriseTabBarButtonSkin
AXMEnterpriseTabBarSkin
AXMEnterpriseTextAreaSkin
AXMEnterpriseTextInputSkin
AXMEnterpriseTitleWindowSkin
AXMEnterpriseToggleButtonSkin
AXMEnterpriseToolBarBottomSkin
AXMEnterpriseToolBarButtonBarFirstButtonSkin
AXMEnterpriseToolBarButtonBarLastButtonSkin
AXMEnterpriseToolBarButtonBarMiddleButtonSkin
AXMEnterpriseToolbarButtonBarSkin
AXMEnterpriseToolBarTopSkin
AXMEnterpriseViewModeButtonBarButtonSkin
AXMEnterpriseViewModeButtonBarSkin
AXMEnterpriseVScrollbarNoControlsSkin
AXMEnterpriseVScrollbarSkin
AXMEnterpriseVScrollbarThumbSkin
AXMEnterpriseVScrollbarTrackNoControlsSkin
AXMEnterpriseVScrollbarTrackSkin
AXMHeaderBar
AXMHScrollBar
AXMLightItemRenderer
AXMList
AXMPopUp
AXMProgressBar
AXMProgressSpinner
AXMResizableContainer
AXMRichTextEditor
AXMRichTextEditorControlBar
AXMScroller
AXMSplitActionButton
AXMSwitch
AXMTabBar
AXMTabBarButton
AXMTitleWindow
AXMToggleButton
AXMToolPopUp
AXMToolPopUpDropDownController
AXMVerticalDivider
AXMVScrollBar

명령문은 런타임에 액션을 수행하거나 지정하는 언어 요소입니다. 예를 들어, return 문은 실행 함수에 대한 결과 값을 반환합니다. if 문은 다음으로 수행해야 할 액션을 결정하는 조건을 평가합니다. switch 문은 ActionScript 명령문의 분기 구조를 만듭니다.

특성 키워드는 정의의 의미를 변경하며 클래스, 변수, 함수 및 네임스페이스 정의에 적용할 수 있습니다. 정의 키워드는 변수, 함수, 클래스 및 인터페이스와 같은 항목을 정의하는 데 사용됩니다. 기본 표현식 키워드는 리터럴 값을 나타냅니다. 예약어 목록을 보려면 ActionScript 3.0 학습.

지시문은 명령문과 정의를 포함하며 컴파일 타임 또는 런타임에 영향을 미칠 수 있습니다. 다음 표에서 명령문이나 정의가 아닌 지시문은 지시문으로 레이블되어 있습니다.


 특성 키워드
 dynamic클래스의 인스턴스가 런타임에 추가되는 동적 속성을 가질 수 있도록 지정합니다.
 final메서드 재정의 또는 클래스 확장을 수행할 수 없도록 지정합니다.
 internal클래스, 변수, 상수 또는 함수를 동일한 패키지 내의 모든 호출자에서 사용할 수 있도록 지정합니다.
 native함수 또는 메서드가 Flash Player에 의해 기본 코드로 구현되도록 지정합니다.
 override메서드가 상속된 메서드를 대체하도록 지정합니다.
 private변수, 상수, 메서드 또는 네임스페이스를 정의하는 클래스에서만 변수, 상수, 메서드 또는 네임스페이스를 사용할 수 있도록 지정합니다.
 protected변수, 상수, 메서드 또는 네임스페이스를 정의하는 클래스 또는 해당 클래스의 하위 클래스에서만 변수, 상수, 메서드 또는 네임스페이스를 사용할 수 있도록 지정합니다.
 public모든 호출자가 클래스, 변수, 상수 또는 메서드를 사용할 수 있도록 지정합니다.
 static변수, 상수 또는 메서드가 클래스의 인스턴스가 아니라 클래스에 속한 것으로 지정합니다.
  네임스페이스
 AS3프로토타입 속성 대신 고정된 속성인 기본 ActionScript 클래스의 메서드와 속성을 정의합니다.
 flash_proxyProxy 클래스의 메서드를 정의합니다.
 object_proxyObjectProxy 클래스의 메서드를 정의합니다.
 기본 표현식 키워드
 falsefalse를 나타내는 부울 값입니다.
 null데이터가 제공되지 않은 경우 변수에 지정하거나 함수에서 반환할 수 있는 특수한 값입니다.
 this메서드의 포함 객체에 대한 참조입니다.
 truetrue를 나타내는 부울 값입니다.
 명령문
 break루프(for, for..in, for each..in, do..while 또는 while) 내에 나타나거나 switch 문 내의 특정 case와 연관된 명령문 블록 내에 나타납니다.
 caseswitch 문의 이동 대상을 정의합니다.
 continue가장 안쪽의 루프에 남아 있는 명령문을 모두 건너뛰고 제어가 정상적으로 루프의 끝에 전달된 것처럼 루프의 다음 반복을 시작합니다.
 defaultswitch 문에 대한 기본 case를 정의합니다.
 do..while조건을 처음 평가하기 전에 명령문이 한 번 실행된다는 점을 제외하고는 while 루프와 유사합니다.
 elseif 문의 조건이 false를 반환하는 경우 실행할 명령문을 지정합니다.
 forinit(초기화) 표현식을 한 번 평가한 다음 루핑 시퀀스를 시작합니다.
 for..in객체의 동적 속성이나 배열 요소를 반복 실행하고 각 속성이나 요소에 대해 statement를 실행합니다.
 for each..in컬렉션의 항목을 반복하고 각 항목에 대해 statement를 실행합니다.
 if조건을 평가하여 다음에 실행할 명령문을 결정합니다.
 label명령문을 break 또는 continue로 참조할 수 있는 식별자와 연결합니다.
 return실행 시에 호출하는 함수에 즉시 반환됩니다.
 super메서드나 생성자의 수퍼 클래스 또는 부모 버전을 호출합니다.
 switch표현식의 값에 따라 여러 명령문 중 하나에 제어가 전달됩니다.
 throwcatch 코드 블록이 처리할 수 있거나 catch할 수 있는 오류를 생성하거나 throw합니다.
 try..catch..finally오류가 발생할 수 있는 코드 블록을 포함하고 오류에 대응합니다.
 while조건을 평가하고 조건이 true로 평가되면 하나 이상의 명령문을 실행한 후 루프로 돌아가서 조건을 다시 평가합니다.
 with명령문을 실행하는 데 사용할 기본 객체를 만듭니다. 이 객체를 사용하면 작성해야 하는 코드의 양을 줄일 수 있습니다.
 정의 키워드
 ... (rest) parameter함수가 쉼표로 구분된 인수를 무제한으로 받도록 지정합니다.
 class사용자가 정의한 메서드와 속성을 공유하는 객체를 인스턴스화하는 데 사용할 수 있는 클래스를 정의합니다.
 const값을 한 번만 대입할 수 있는 변수인 상수를 지정합니다.
 extends다른 클래스의 하위 클래스인 클래스를 정의합니다.
 function특정 작업을 수행하기 위해 정의하는 일련의 명령문을 구성합니다.
 get속성처럼 읽을 수 있는 메서드인 getter를 정의합니다.
 implements클래스가 하나 이상의 인터페이스를 구현하도록 지정합니다.
 interface인터페이스를 정의합니다.
 namespace정의의 가시성을 제어할 수 있습니다.
 package다른 스크립트에서 가져올 수 있도록 코드를 여러 그룹으로 분할해서 구성할 수 있습니다.
 set공용 인터페이스에 속성으로 표시되는 메서드인 setter를 정의합니다.
 var변수를 지정합니다.
 지시문
 default xml namespace default xml namespace 지시문은 XML 객체에 사용할 기본 네임스페이스를 설정합니다.
 import외부적으로 정의된 클래스 및 패키지를 코드에서 사용할 수 있도록 만듭니다.
 include지정된 파일의 내용을 포함합니다. 파일 내의 명령은 호출하는 스크립트의 일부인 것처럼 사용됩니다.
 use namespace지정된 네임스페이스가 열려 있는 네임스페이스 세트에 추가되도록 합니다.
명령문, 키워드 및 지시문 세부 정보
... (rest) parameter정의 키워드
구문

function functionName(parameter0, parameter1, ...rest){ 
	// statement(s) 
} 

함수가 쉼표로 구분된 인수를 무제한으로 받도록 지정합니다. 인수 목록은 함수 본문 어디에서나 사용할 수 있는 배열이 됩니다. 이 배열의 이름은 매개 변수 선언의 ... 문자 뒤에 지정됩니다. 매개 변수는 예약어가 아닌 어떤 이름이나 가질 수 있습니다.

다른 매개 변수와 함께 사용할 경우 ... (rest) 매개 변수 선언은 마지막 매개 변수로 지정해야 합니다. ... (rest) 매개 변수 배열은 함수에 전달된 인수의 수가 다른 매개 변수의 수를 초과하는 경우에만 채워집니다.

쉼표로 구분된 인수 목록의 각 인수는 배열의 요소에 배치됩니다. Array 클래스의 인스턴스를 전달하면 전체 배열이 ... (rest) 매개 변수 배열의 단일 요소에 배치됩니다.

이 매개 변수를 사용하면 arguments 객체를 사용할 수 없습니다. ... (rest) 매개 변수는 arguments 배열 및 arguments.length 속성과 동일한 기능을 제공하지만 arguments.callee와 유사한 기능은 제공하지 않습니다. ... (rest) 매개 변수를 사용하기 전에는 arguments.callee를 사용해야 할 일이 있는지 확인합니다.

매개 변수
rest:* — 함수에 전달된 인수 배열의 이름을 나타내는 식별자입니다. 매개 변수는 키워드가 아닌 어떤 이름이나 가질 수 있으므로 매개 변수의 이름을 rest로 지정하지 않아도 됩니다. ... (rest) 매개 변수의 데이터 유형을 Array로 지정할 수 있습니다. 그러나 이렇게 하면 매개 변수가 Array 클래스의 인스턴스와 동일하지 않은 쉼표로 구분된 값 목록을 받기 때문에 혼동될 수 있습니다.

예제
예제 사용 방법
다음 예제에서는 ...(rest) 매개 변수를 서로 다른 두 함수에서 사용합니다. 첫 번째 함수인 traceParams에서는 간단하게 rest 배열의 각 인수에 대해 trace() 함수를 호출합니다. 두 번째 함수인 average()에서는 인수 목록을 받아서 평균을 반환합니다. 또한 두 번째 함수에서는 매개 변수에 대해 args라는 다른 이름을 사용합니다.
package {
	import flash.display.MovieClip;
	
	public class RestParamExample extends MovieClip {
		public function RestParamExample() {
			traceParams(100, 130, "two"); // 100,130,two
			trace(average(4, 7, 13));     // 8
		}
	}
}


function traceParams(... rest) {
 	trace(rest);
 }
 
function average(... args) : Number{
	var sum:Number = 0;
	for (var i:uint = 0; i < args.length; i++) {
		sum += args[i];
	}
	return (sum / args.length);
}

관련 API 요소

AS3 네임스페이스  

프로토타입 속성 대신 고정된 속성인 기본 ActionScript 클래스의 메서드와 속성을 정의합니다. "-as3" 컴파일러 옵션을 true로 설정하면(Flex Builder 2의 기본 설정) AS3 네임스페이스가 모든 기본 클래스에 대해 자동으로 열립니다. 즉, 기본 클래스의 인스턴스는 클래스의 프로토타입 객체에 연결된 것과 동일한 속성 및 메서드 대신 고정된 속성 및 메서드를 사용합니다. 고정된 속성을 사용하면 일반적으로 성능이 향상되지만 ECMAScript 버전 3 언어 사양(ECMA-262)과의 호환성 비용이 늘어납니다.

매개 변수

관련 API 요소

break명령문 
구문

break [label]

루프(for, for..in, for each..in, do..while 또는 while) 내에 나타나거나 switch 문 내의 특정 case와 연관된 명령문 블록 내에 나타납니다. break 문을 루프에서 사용하면 루프 본문의 나머지를 건너뛰고 루핑 액션을 중단한 후 루프 문 다음의 명령문을 실행합니다. break 문을 switch에서 사용하면 해당 case 블록에서 명령문의 나머지를 건너뛰고 포함 switch 문 다음의 첫 번째 명령문으로 이동합니다.

중첩 루프에서 break 문은 즉시 루프의 나머지만을 건너뛰고 일련의 전체 중첩 루프에서 빠져 나오지 않습니다. 전체 중첩 루프에서 벗어나려면 label 또는 try..catch..finally를 사용합니다.

break 문은 레이블이 지정된 외부 명령문과 일치해야 하는 선택적 레이블을 가질 수 있습니다. 외부 명령문의 레이블과 일치하지 않는 레이블을 사용하면 구문 오류가 발생합니다. 레이블이 지정된 break 문은 여러 레벨의 중첩 루프 명령문, switch 문 또는 block 문을 빠져 나올 때 사용할 수 있습니다. label 문에 대한 항목을 예로 들어 보겠습니다.

매개 변수
label:* — 명령문과 연결된 레이블의 이름입니다.

예제
예제 사용 방법
다음 예제에서는 break 문을 사용하여 무한 루프에서 빠져 나옵니다.
var i:int = 0;
while (true) { 
	trace(i); 
	if (i >= 10) { 
		break; // this will terminate/exit the loop 
	} 
	i++; 
} 
/*
0 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10*/

관련 API 요소

case명령문 
구문

case jumpTarget: statements

switch 문의 이동 대상을 정의합니다. jumpTarget 매개 변수가 완전 항등(===)을 사용하는 switch 문의 expression 매개 변수와 동일하면 Flash Player는 break 문 또는switch 문의 끝을 만날 때까지 statements 매개 변수에서 명령문을 실행합니다.

switch 문 외부에서 case 문을 사용하면 오류가 발생하고 스크립트가 컴파일되지 않습니다.

매개 변수
jumpTarget:* — 모든 표현식입니다.
statements:* — jumpTarget이 switch 문의 조건 표현식과 일치할 때 실행할 명령문입니다.

예제
예제 사용 방법
다음 예제에서는 switch 문 thisMonth의 이동 대상을 정의합니다. thisMonth가 case 문의 표현식과 같으면 명령문이 실행됩니다.
var thisMonth:int = new Date().getMonth(); 
switch (thisMonth) { 
	case 0 : 
		trace("January"); 
		break; 
	case 1 : 
		trace("February"); 
		break; 
	case 5 : 
	case 6 : 
	case 7 : 
		trace("Some summer month"); 
		break; 
	case 8 : 
		trace("September"); 
		break; 
	default : 
		trace("some other month"); 
}

관련 API 요소

class정의 키워드 
구문

[dynamic] [public | internal] [final] class className [ extends superClass ] [ implements interfaceName[, interfaceName... ] ] { 
	// class definition here
}

사용자가 정의한 메서드와 속성을 공유하는 객체를 인스턴스화하는 데 사용할 수 있는 클래스를 정의합니다. 예를 들어, 청구서 추적 시스템을 개발하는 경우 각 송장에 포함해야 할 모든 메서드와 속성을 정의하는 Invoice 클래스를 만들 수 있습니다. 그런 다음 new Invoice() 명령을 사용하여 Invoice 객체를 만듭니다.

각 ActionScript 소스 파일에는 다른 소스 파일 또는 스크립트에서 액세스할 수 있는 클래스를 하나만 포함할 수 있습니다. 외부에서 액세스할 수 있는 클래스는 공용 또는 내부 클래스이며 반드시 패키지 문 내부에 정의해야 합니다. 동일한 파일에 다른 클래스를 포함하는 경우 이러한 클래스는 패키지 문의 외부 즉, 파일의 끝에 배치해야 합니다.

외부에서 액세스할 수 있는 클래스의 이름은 해당 클래스가 포함된 ActionScript 소스 파일의 이름과 일치해야 합니다. 소스 파일의 이름은 파일 확장명 .as가 추가된 클래스 이름이어야 합니다. 예를 들어, 클래스 이름을 Student로 지정하면 이 클래스를 정의하는 파일의 이름은 Student.as로 지정해야 합니다.

클래스 정의를 중첩할 수 없습니다. 즉, 클래스 정의 내에 다른 클래스를 정의할 수 없습니다.

클래스의 새 인스턴스가 만들어질 때마다 실행되는 생성자 메서드를 정의할 수 있습니다. 생성자 메서드의 이름은 클래스의 이름과 일치해야 합니다. 생성자 메서드를 정의하지 않으면 기본 생성자가 자동으로 만들어집니다.

객체가 런타임에 동적 속성을 추가하거나 액세스할 수 있음을 나타내려면 class 문 앞에 dynamic 키워드를 지정합니다. 클래스가 인터페이스를 구현함을 선언하려면 implements 키워드를 사용합니다. 클래스의 하위 클래스를 만들려면 extends 키워드를 사용합니다. 클래스는 하나의 클래스만 확장할 수 있지만 여러 인터페이스를 구현할 수 있습니다. implementsextends를 한 명령문에 사용할 수 있습니다. 다음 예제에서는 implementsextends 키워드의 일반적인 사용법을 보여 줍니다.

class C implements Interface_i, Interface_j // OK 
class C extends Class_d implements Interface_i, Interface_j // OK 
class C extends Class_d, Class_e // not OK 

매개 변수
className:Class — 정규화된 클래스 이름입니다.

예제
예제 사용 방법
다음 예제에서는 Plant라는 클래스를 생성합니다. Plant 생성자는 두 개의 매개 변수를 사용합니다.
// Filename Plant.as 
package {
  public class Plant { 
	// Define property names and types 
	private var _leafType:String; 
	private var _bloomSeason:String; 
	// Following line is constructor 
	// because it has the same name as the class 
	public function Plant(param_leafType:String, param_bloomSeason:String) { 
		// Assign passed values to properties when new Plant object is created 
		_leafType = param_leafType; 
		_bloomSeason = param_bloomSeason; 
	} 
	// Create methods to return property values, because best practice 
	// recommends against directly referencing a property of a class 
	public function get leafType():String { 
		return _leafType; 
	} 
	public function get bloomSeason():String { 
		return _bloomSeason; 
	} 
  }
}
스크립트에서 new 연산자를 사용하여 Plant 객체를 만듭니다.
var pineTree:Plant = new Plant("Evergreen", "N/A"); 
// Confirm parameters were passed correctly 
trace(pineTree.leafType); 
trace(pineTree.bloomSeason); 

관련 API 요소

const정의 키워드 
구문

const identifier = value 

값을 한 번만 대입할 수 있는 변수인 상수를 지정합니다.

데이터 유형 앞에 콜론(:) 문자를 추가하면 상수를 고정 유형으로 지정할 수 있습니다.

매개 변수
identifier:* — 상수에 대한 식별자입니다.

예제
예제 사용 방법
다음 예제에서는 한 개의 상수에 값을 두 번 이상 대입할 때 오류가 발생함을 보여 줍니다.
const MIN_AGE:int = 21;
MIN_AGE = 18; // error
다음 예제에서는 상수가 배열인 경우 Array.push()를 포함한 Array 클래스 메서드를 호출할 수 있음을 보여 줍니다. 그러나 새 배열 리터럴을 대입할 수는 없습니다.
const product_array:Array = new Array("Studio", "Dreamweaver", "Flash", "ColdFusion", "Contribute", "Breeze"); 
product_array.push("Flex"); // array operations are allowed
product_array = ["Other"];  // assignment is an error
trace(product_array); 

관련 API 요소

continue명령문 
구문

continue [label]

가장 안쪽의 루프에 남아 있는 명령문을 모두 전달하고 제어가 루프의 끝까지 정상적으로 전달된 것처럼 루프의 다음 반복을 시작합니다. continue 문은 루프 외부에는 적용되지 않습니다. 중첩 루프에서 선택적 label 매개 변수를 사용하여 가장 안쪽의 루프를 제외한 모든 루프를 건너뜁니다.

continue 문은 레이블이 지정된 외부 명령문과 일치해야 하는 선택적 레이블을 가질 수 있습니다. 외부 명령문의 레이블과 일치하지 않는 레이블을 사용하면 구문 오류가 발생합니다. 레이블이 지정된 continue 문을 사용하여 여러 레벨의 중첩 루프 명령문을 건너뛸 수 있습니다.

매개 변수

예제
예제 사용 방법
다음 while 루프에서는 continue 문을 사용하여 3의 배수를 만날 때마다 루프 본문의 나머지를 건너뛴 다음, 조건이 테스트되는 루프 맨 위로 이동합니다.
var i:int = 0; 
while (i < 10) { 
	if (i % 3 == 0) { 
		i++; 
		continue; 
	} 
	trace(i); 
	i++; 
}
for 루프에서도 continue 문을 사용하여 루프 본문의 나머지를 건너뛸 수 있습니다. 다음 예제에서는 i % 3이 0과 같은 경우 trace(i) 문이 생략됩니다.
 
for (var i:int = 0; i < 10; i++) { 
	if (i % 3 == 0) { 
		continue; 
	} 
	trace(i); 
}

관련 API 요소

default명령문 
구문

default: statements 

switch 문에 대한 기본 case를 정의합니다. switch 문의 expression 매개 변수가 strict equality[===] 연산을 사용할 경우 해당 switch 문의 case 키워드를 따르는 expression 매개 변수와 하나도 동일하지 않으면 명령문이 실행됩니다.

switch 문에서는 default case 문이 필요하지 않습니다. default case 문을 목록의 마지막에 배치할 필요도 없습니다. switch 문 외부에서 default 문을 사용하면 오류가 발생하고 스크립트가 컴파일되지 않습니다.

매개 변수
statements:* — 모든 명령문입니다.

예제
예제 사용 방법
다음 예제에서는 요일이 일요일이나 토요일인 경우 case 문이 하나도 적용되지 않고 default 문이 실행됩니다.
var dayOfWeek:int = new Date().getDay(); 
switch (dayOfWeek) { 
	case 1 : 
		trace("Monday"); 
		break; 
	case 2 : 
		trace("Tuesday"); 
		break; 
	case 3 : 
		trace("Wednesday"); 
		break; 
	case 4 : 
		trace("Thursday"); 
		break; 
	case 5 : 
		trace("Friday"); 
		break; 
	default : 
		trace("Weekend"); 
}

관련 API 요소

default xml namespace지시문 
구문

default xml namespace = ns

default xml namespace 지시문은 XML 객체에 사용할 기본 네임스페이스를 설정합니다.

default xml namespace를 설정하지 않은 경우 기본 네임스페이스는 이름이 지정되지 않은 네임스페이스(빈 문자열로 설정된 URI 포함)입니다. default xml namespace 선언의 범위는 변수의 범위와 마찬가지로 함수 블록 내입니다.

매개 변수

예제
예제 사용 방법
다음 예제에서는 default xml namespace의 범위가 함수 블록임을 보여 줍니다.
var nsDefault1:Namespace = new Namespace("http://www.example.com/namespaces/");
default xml namespace = nsDefault1;
	    
var x1:XML = ;
trace("x1 ns: " + x1.namespace());
			
scopeCheck();	

var x2:XML = ;
trace("x2 ns: " + x2.namespace());
		
function scopeCheck(): void {
	
	var x3:XML = ;
	trace("x3 ns: " + x3.namespace());
				
	var nsDefault2:Namespace = new Namespace("http://schemas.xmlsoap.org/soap/envelope/");
	default xml namespace = nsDefault2;
		    
	var x4:XML = ;
	trace("x4 ns: " + x4.namespace());

}
이 예제의 trace() 출력은 다음과 같습니다. x1 ns: http://www.example.com/namespaces/ x3 ns: x4 ns: http://schemas.xmlsoap.org/soap/envelope/ x2 ns: http://www.example.com/namespaces/ 다음 예제에서는 default xml namespace를 사용하여 기본 네임스페이스를 대입합니다. 두 번째 XML 객체(x2)는 x2가 자체 기본 네임스페이스를 정의하므로 이 설정을 사용하지 않습니다.
var nsDefault:Namespace = new Namespace("http://www.example.com/namespaces/");
default xml namespace = nsDefault;
            
var x1:XML = ;

trace(x1.namespace());
	// http://www.example.com/namespaces/

var x2:XML = ;
trace(x2.namespace());
	// http://www.w3.org/1999/XSL/Transform/

var x3:XML = ;
trace(x3.namespace());
	// http://www.example.com/namespaces/

관련 API 요소

do..while명령문 
구문

do { statement(s) } while (condition)

조건을 처음 평가하기 전에 명령문이 한 번 실행된다는 점을 제외하고는 while 루프와 유사합니다. 그 후에 명령문은 조건이 true로 평가된 경우에만 실행됩니다.

do..while 루프를 사용하면 루프 내의 코드가 한 번 이상 실행됩니다. while 루프를 실행할 명령문의 복사본을 while 루프가 시작되기 전에 배치하여도 같은 결과를 얻을 수 있지만 대부분의 프로그래머는 do..while 루프가 더 읽기 쉽다고 생각합니다.

조건이 항상 true로 평가되면 do..while 루프는 무한 루프입니다. 무한 루프 상태가 되면 Flash Player에 문제가 발생하여 경고 메시지가 나타나거나 플레이어에서 충돌이 발생할 수 있습니다. 루핑할 횟수를 아는 경우에는 가능하면 for 루프를 사용합니다. for 루프는 읽고 디버깅하기 쉽지만 모든 상황에서 do..while 루프를 대체할 수 있는 것은 아닙니다.

매개 변수
condition:Boolean — 평가할 조건입니다. 코드의 do 블록 내에 있는 명령문은 condition 매개 변수가 true로 평가되어야 실행됩니다.

예제
예제 사용 방법
다음 예제에서는 do..while 루프를 사용하여 조건이 true인지 평가하고 myVar이 5 이상이 될 때까지 myVar을 추적합니다. myVar이 5 이상이 되면 루프가 끝납니다.
var myVar:Number = 0; 
do { 
	trace(myVar); 
	myVar++; 
} 
while (myVar < 5); 
/*
0 
1 
2 
3 
4
*/

관련 API 요소

dynamic특성 키워드 
구문

dynamic class className { // class definition here }

클래스의 인스턴스가 런타임에 추가되는 동적 속성을 가질 수 있도록 지정합니다. 클래스에서 dynamic 특성을 사용하는 경우 런타임에 속성을 해당 클래스의 인스턴스에 추가할 수 있습니다. dynamic으로 표시되지 않은 클래스는 속성을 클래스의 인스턴스에 추가할 수 없는 봉인된 클래스로 간주됩니다.

동적 클래스가 아닌 봉인된 클래스의 경우 클래스 인스턴스에 속성을 가져오거나 설정하려고 하면 오류가 발생합니다. 컴파일러를 Strict 모드로 설정하고 데이터 유형을 지정한 경우 인스턴스를 만들 때 봉인된 객체에 속성을 추가하려고 시도하면 컴파일러 오류가 발생하며, 컴파일러 오류가 발생하지 않은 경우에는 런타임 오류가 발생합니다.

dynamic 특성은 하위 클래스에 상속되지 않습니다. 동적 클래스를 확장한 경우에는 dynamic 특성을 사용하여 하위 클래스를 선언해야만 하위 클래스가 동적 클래스가 됩니다.

매개 변수

예제
예제 사용 방법
다음 예제에서는 이후 예제에서 사용할 Expando라는 동적 클래스와 Sealed라는 봉인된 클래스를 만듭니다.
package {

	dynamic class Expando  {
	}
	
	class Sealed {
	}
}
다음 코드는 Expando 클래스의 인스턴스를 만들고, 이 인스턴스에 속성을 추가할 수 있음을 보여 줍니다.
var myExpando:Expando = new Expando();
myExpando.prop1 = "new";
trace(myExpando.prop1); // new
다음 코드는 Sealed 클래스의 인스턴스를 만들고, 속성을 추가할 때 오류가 발생한다는 것을 보여 줍니다.
var mySealed:Sealed = new Sealed();
mySealed.prop1 = "newer"; // error

관련 API 요소

else명령문 
구문

if (condition) { 
	// statement(s)
} 
else {
	// statement(s)
}

if 문의 조건이 false를 반환하는 경우 실행할 명령문을 지정합니다. 명령문을 하나만 실행할 경우에는 else 문이 실행할 명령문을 둘러싸는 중괄호({})가 필요하지 않습니다.

매개 변수
condition:Boolean — true 또는 false로 평가되는 표현식입니다.

예제
예제 사용 방법
다음 예제에서는 else 조건을 사용하여 age_txt 변수가 18보다 큰지 또는 작은지 확인합니다.
if (age_txt.text>=18) { 
	trace("welcome, user"); 
} 
else { 
	trace("sorry, junior"); 
	userObject.minor = true; 
	userObject.accessAllowed = false;
}
다음 예제에서는 else 문 뒤에 오는 명령문이 하나뿐이기 때문에 중괄호({})가 필요하지 않습니다.
if (age_txt.text>18) { 
	trace("welcome, user");
} 
else trace("sorry, junior");
다음 예제에서는 if 및 else 문의 조합을 사용하여 score_txt를 지정된 값과 비교합니다.
if (score_txt.text>90) { 
	trace("A"); 
} 
else if (score_txt.text>75) { 
	trace("B"); 
} 
else if (score_txt.text>60) { 
	trace("C"); 
} 
else { 
	trace("F"); 
}

관련 API 요소

extends정의 키워드 
구문

class className extends otherClassName {}
interface interfaceName extends otherInterfaceName {} 

다른 클래스의 하위 클래스인 클래스를 정의합니다. 하위 클래스는 수퍼 클래스에 정의된 모든 메서드, 속성 및 함수 등을 상속 받습니다. final로 표시된 클래스는 확장할 수 없습니다.

또한 extends 키워드를 사용하여 인터페이스를 확장할 수 있습니다. 다른 인터페이스를 확장하는 인터페이스는 원본 인터페이스의 모든 메서드 선언을 포함합니다.

매개 변수
className:Class — 정의할 클래스의 이름입니다.

예제
예제 사용 방법
다음 예제에서는 Car 클래스가 Vehicle 클래스를 확장하여 Car 클래스의 모든 메서드, 속성 및 함수가 상속됩니다. 스크립트가 Car 객체를 인스턴스화하면 Car 클래스의 메서드와 Vehicle 클래스의 메서드를 모두 사용할 수 있습니다. 다음 예제에서는 Vehicle 클래스를 정의하는 Vehicle.as 파일의 내용을 보여 줍니다.
package {
	class Vehicle { 
	    var numDoors:Number; 
	    var color:String; 
	    public function Vehicle(param_numDoors:Number = 2, param_color:String = null) { 
	        numDoors = param_numDoors; 
	        color = param_color; 
	    } 
	    public function start():void { 
	        trace("[Vehicle] start"); 
	    } 
	    public function stop():void { 
	        trace("[Vehicle] stop"); 
	    } 
	    public function reverse():void { 
	        trace("[Vehicle] reverse"); 
	    } 
	}	
}
다음 예제에서는 같은 디렉토리에 있는 두 번째 ActionScript 파일(Car.as)을 보여 줍니다. 이 클래스는 Vehicle 클래스를 확장하여 세 가지 방식으로 변경합니다. 우선 Car 클래스는 car 객체가 정품 크기의 예비 타이어를 가지고 있는지 추적할 fullSizeSpare 변수를 추가합니다. 그런 다음, 차량의 도난 방지 경보 장치를 활성화하는 새로운 메서드인 activateCarAlarm()을 추가합니다. 마지막으로 stop() 함수를 재정의하여 Car 클래스가 멈추려 할 때는 잠금 방지 제동 시스템을 사용한다는 사실을 추가합니다.
package {

	public class Car extends Vehicle { 
	    var fullSizeSpare:Boolean; 
	    public function Car(param_numDoors:Number, param_color:String, param_fullSizeSpare:Boolean) { 
	        numDoors = param_numDoors; 
	        color = param_color; 
	        fullSizeSpare = param_fullSizeSpare; 
	    } 
	    public function activateCarAlarm():void { 
	        trace("[Car] activateCarAlarm"); 
	    } 
	    public override function stop():void { 
	        trace("[Car] stop with antilock brakes"); 
	    } 
	}
}
다음 예제에서는 Car 객체를 인스턴스화하고 Vehicle 클래스에서 정의된 start() 메서드를 호출한 다음 Car 클래스에 의해 재정의된 stop() 메서드를 호출하고 마지막으로 Car 클래스에서 activateCarAlarm() 메서드를 호출합니다.
var myNewCar:Car = new Car(2, "Red", true); 
myNewCar.start(); // [Vehicle] start 
myNewCar.stop(); // [Car] stop with anti-lock brakes 
myNewCar.activateCarAlarm(); // [Car] activateCarAlarm
또한 super 문을 사용하여 Vehicle 클래스의 하위 클래스를 작성할 수 있으며, 이 하위 클래스를 사용하여 수퍼 클래스의 생성자에 액세스할 수 있습니다. 다음 예제에서는 역시 같은 디렉토리에서 세 번째 ActionScript 파일인 Truck.as 파일을 보여 줍니다. Truck 클래스는 생성자와 재정의된 reverse() 메서드에서 super를 사용합니다.
package {
	class Truck extends Vehicle {
		var numWheels:Number;
		public function Truck(param_numDoors:Number, param_color:String, param_numWheels:Number) { 
			super(param_numDoors, param_color); 
			numWheels = param_numWheels; 
		} 
		public override function reverse():void { 
			beep();
			super.reverse();
		} 
		public function beep():void { 
			trace("[Truck] make beeping sound"); 
		} 
	}
}
다음 예제에서는 Truck 객체를 인스턴스화하고 Truck 클래스에 의해 재정의된 reverse() 메서드를 호출한 다음 Vehicle 클래스에서 정의된 stop() 메서드를 호출합니다.
var myTruck:Truck = new Truck(2, "White", 18); 
myTruck.reverse(); // [Truck] make beeping sound [Vehicle] reverse 
myTruck.stop(); // [Vehicle] stop

관련 API 요소

false기본 표현식 키워드 
구문

false

false를 나타내는 부울 값입니다. 부울 값은 true 또는 false이며, false의 반대는 true입니다.

자동 데이터 유형 지정 기능이 false를 숫자로 변환하면 0이 됩니다. false를 문자열로 변환하면 "false"가 됩니다.

중요: 문자열 "false"는 부울 값 true로 변환됩니다.

매개 변수

예제
예제 사용 방법
다음 예제에서는 자동 데이터 유형 지정 기능이 false를 숫자 및 문자열로 변환하는 방법을 보여 줍니다.
var bool1:Boolean = Boolean(false);

// converts it to the number 0
trace(1 + bool1); // outputs 1

// converts it to a string
trace("String: " + bool1); // outputs String: false
다음 예제에서는 문자열 "false"가 부울 값 true로 변환되는 것을 보여 줍니다.
trace(Boolean("false")); // true

if ("false") {
	trace("condition expression evaluated to true");
}
else {
	trace("condition expression evaluated to false");
}
// condition expression evaluated to true

관련 API 요소

final특성 키워드 
구문

final function methodName() { 
	// your statements here 
}
final class className {}

메서드 재정의 또는 클래스 확장을 수행할 수 없도록 지정합니다. final로 표시된 메서드를 재정의하거나 클래스를 확장하려고 시도하면 오류가 발생합니다.

매개 변수
methodName:Function — 재정의할 수 없는 메서드 이름입니다.
className:Class — 확장할 수 없는 클래스 이름입니다.

관련 API 요소

flash_proxy 네임스페이스  

Proxy 클래스의 메서드를 정의합니다. Proxy 하위 클래스에 Proxy 클래스 메서드와 일치하는 인스턴스 메서드 이름이 포함된 경우 발생할 수 있는 이름 충돌을 피하기 위해 Proxy 클래스 메서드는 자체 네임스페이스에 있습니다.

매개 변수

관련 API 요소

for명령문 
구문

for ([init]; [condition]; [next]) { 
	// statement(s)
}

init(초기화) 표현식을 한 번 평가한 다음 루핑 시퀀스를 시작합니다. 루핑 시퀀스는 condition 표현식을 평가하여 시작합니다. condition 표현식이 true로 평가되면 statement가 실행되고 next가 평가됩니다. 그런 다음 condition 표현식을 평가하여 루핑 시퀀스가 다시 시작됩니다.

명령문을 하나만 실행할 경우에는 for 문이 실행할 명령문 블록을 둘러싸는 중괄호({})가 필요하지 않습니다.

매개 변수
init — 루핑 시퀀스를 시작하기 전에 평가할 선택적 표현식, 즉 일반적으로 대입 표현식입니다. var 문에서도 이 매개 변수를 사용할 수 있습니다.
condition — 루핑 시퀀스를 시작하기 전에 평가할 선택적 표현식, 즉 일반적으로 비교 표현식입니다. 표현식이 true로 평가되면 for 문과 연결된 명령문이 실행됩니다.
next — 루핑 시퀀스 이후에 평가할 선택적 표현식 즉, 일반적으로 증가 또는 감소 표현식입니다.

예제
예제 사용 방법
다음 예제에서는 for를 사용하여 배열에 요소를 추가합니다.
var my_array:Array = new Array(); 
for (var i:Number = 0; i < 10; i++) { 
	my_array[i] = (i + 5) * 10;  
} 
trace(my_array); // 50,60,70,80,90,100,110,120,130,140 
다음 예제에서는 for를 사용하여 같은 액션을 반복적으로 수행합니다. 이 코드에서 for 루프는 1부터 100까지의 숫자를 추가합니다.
var sum:Number = 0; 
for (var i:Number = 1; i <= 100; i++) { 
	sum += i; 
} 
trace(sum); // 5050
다음 예제에서는 실행될 명령문이 하나뿐이어서 중괄호({})가 필요하지 않습니다.
var sum:Number = 0; 
for (var i:Number = 1; i <= 100; i++) 
	sum += i; 
trace(sum); // 5050

관련 API 요소

for..in명령문 
구문

for (variableIterant:String in object){ 
	// statement(s)
} 

객체의 동적 속성이나 배열 요소를 반복 실행하고 각 속성이나 요소에 대해 statement를 실행합니다. 객체 속성 간에 특정한 순서가 있는 것은 아니므로 속성은 임의의 순서에 따라 나타날 수 있습니다. 클래스에 정의된 변수 및 메서드와 같이 고정된 속성은 for..in 문으로 열거되지 않습니다. 고정된 속성 목록을 얻으려면 flash.utils 패키지에 있는 describeType() 함수를 사용합니다.

매개 변수
variableIterant:String — 객체의 각 속성이나 배열 요소를 참조하면서 반복 실행되는 변수의 이름입니다.

예제
예제 사용 방법
다음 예제에서는 for..in을 사용하여 객체의 속성을 반복 실행합니다.
var myObject:Object = {firstName:"Tara", age:27, city:"San Francisco"}; 
for (var prop in myObject) { 
	trace("myObject."+prop+" = "+myObject[prop]); 
} 
/*
myObject.firstName = Tara 
myObject.age = 27 
myObject.city = San Francisco
*/
다음 예제에서는 typeof 연산자를 for..in 문과 함께 사용하여 특정 유형의 자식을 반복 실행합니다.
var myObject:Object = {firstName:"Tara", age:27, city:"San Francisco"}; 
for (var name in myObject) { 
	if (typeof (myObject[name]) == "string") { 
		trace("I have a string property named "+name); 
	} 
}
/*
I have a string property named city
I have a string property named firstName
*/

관련 API 요소

for each..in명령문 
구문

for each (variableIterant in object){ 
	// statement(s)
} 

컬렉션의 항목을 반복하고 각 항목에 대해 statement를 실행합니다. E4X 언어 확장의 일부로 도입된 for each..in 문은 XML 객체뿐만 아니라 객체 및 배열에 대해서도 사용할 수 있습니다. for each..in 문은 객체의 속성 중 고정된 속성은 제외하고 동적 속성만 반복합니다. 고정된 속성은 클래스 정의의 일부로 정의된 속성입니다. for each..in 문을 사용자 정의 클래스의 인스턴스와 함께 사용하려면 dynamic 특성을 사용하여 클래스를 선언해야 합니다.

for..in 문과 달리 for each..in 문은 속성 이름 대신 객체의 속성 값을 반복합니다.

매개 변수
variableIterant:* — 컬렉션의 항목을 참조하면서 반복 실행되는 변수의 이름입니다.
object:Object — 반복할 컬렉션의 이름입니다. 컬렉션은 XML 객체, 일반 객체 또는 배열일 수 있습니다.

예제
예제 사용 방법
다음 예제에서는 for each..in을 사용하여 객체의 속성 값을 반복 실행합니다.
var myObject:Object = {firstName:"Tara", age:27, city:"San Francisco"}; 
for each (var item in myObject) { 
	trace(item); 
} 
/*
Tara
27
San Francisco
*/
다음 예제에서는 for each..in을 사용하여 배열 요소를 반복 실행합니다.
var myArray:Array = new Array("one", "two", "three"); 
for each(var item in myArray) 
	trace(item); 
/*
one
two
three
*/
다음 예제에서는 is 연산자를 for each..in 문과 함께 사용하여 특정 유형의 자식을 반복 실행합니다.
var myObject:Object = {firstName:"Tara", age:27, city:"San Francisco"}; 
for each (var item in myObject) { 
	if (item is String) {  
		trace("I have a string property with value " + item); 
	} 
}

/*
I have a string property with value Tara
I have a string property with value San Francisco
*/
다음 예제에서는 for each..in을 사용하여 XMLList 객체(doc.p)의 속성을 반복 실행합니다.
var doc:XML = 
		
			

Hello

Hola


Bonjour

; for each (var item in doc.p) { trace(item); } /* Hello Hola Bonjour */

function정의 키워드 
구문

function functionName([parameter0, parameter1,...parameterN]) : returnType{ 
	// statement(s) 
} 
var functionName:Function = function ([parameter0, parameter1,...parameterN]) : returnType{ 
	// statement(s) 
} 

특정 작업을 수행하기 위해 정의하는 일련의 명령문을 구성합니다. 특정 위치에서 함수를 정의하거나 SWF 파일 내의 다른 스크립트에서 함수를 호출할 수 있습니다. 함수를 정의할 때 해당 함수의 매개 변수도 지정할 수 있습니다. 매개 변수는 함수가 적용되는 값에 대한 자리 표시자입니다. 다른 상황에서 함수를 다시 사용할 수 있도록 함수를 호출할 때마다 함수에 다른 매개 변수를 전달할 수 있습니다.

함수의 statement(s) 블록에서 return 문을 사용하여 함수가 값을 생성하거나 반환하도록 할 수 있습니다.

구문 1: function 키워드를 사용하여 지정된 함수 이름, 매개 변수 및 명령문을 가진 함수를 정의할 수 있습니다. 스크립트에서 함수를 호출하면 함수 정의의 명령문이 실행됩니다. 전방 참조가 허용되므로 동일한 스크립트 내에서 함수를 호출한 다음 해당 함수를 선언할 수 있습니다. 함수 정의는 동일한 함수의 이전 정의를 모두 대체합니다. 명령문을 사용할 수 있는 곳이면 어느 곳에서나 이 구문을 사용할 수 있습니다.

구문 2: function을 사용하여 익명 함수를 만들고 해당 함수에 대한 참조를 반환할 수도 있습니다. 이 구문은 표현식에 사용되며 특히 객체에 메서드를 설치하는 데 유용합니다.

추가 기능을 사용하려면 함수 정의에서 arguments 객체를 사용하면 됩니다. arguments 객체는 일반적으로 매개 변수의 변수 번호를 승인하는 함수를 만들고 익명의 순환 함수를 만드는 데 사용됩니다.

매개 변수
functionName:Function — 새 함수의 이름입니다.
returnType:* — 반환값의 데이터 유형입니다.

예제
예제 사용 방법
다음 예제에서는 제곱 값을 반환하는 sqr 함수를 정의합니다.
function sqr(xNum:Number) { 
	return Math.pow(xNum, 2); 
} 
var yNum:Number = sqr(3); 
trace(yNum); // 9
함수를 정의하고 동일한 스크립트에서 이 함수를 사용하는 경우 함수의 정의는 함수가 사용된 후에 나타날 수 있습니다.
var yNum:Number = sqr(3); 
trace(yNum); // 9 
function sqr(xNum:Number) { 
	return Math.pow(xNum, 2); 
}

관련 API 요소

get정의 키워드 
구문

function get property() : returnType{ 
	// your statements here 
}

속성처럼 읽을 수 있는 메서드인 getter를 정의합니다. getter는 var 또는 const 키워드로 선언된 속성 값을 반환하는 특수 함수입니다. 다른 메서드와 달리 getter는 괄호(()) 없이 호출되므로 변수처럼 보입니다.

getter를 사용하면 전용 속성에 대한 공용 인터페이스를 만들어서 정보 은폐 원칙을 적용할 수 있습니다. 정보 은폐 기술을 사용하면 전용 속성의 기본 구현이 변경되더라도 공용 인터페이스를 그대로 유지할 수 있습니다.

또한 var 또는 const로 선언된 속성은 하위 클래스에서 재정의할 수 없는 반면 getter는 하위 클래스에서 재정의할 수 있습니다.

getter와 setter를 결합하여 읽기/쓰기 속성을 만들 수 있습니다. 읽기 전용 속성을 만들려면 해당 setter는 만들지 않고 getter만 만듭니다. 쓰기 전용 속성을 만들려면 해당 getter는 만들지 않고 setter만 만듭니다.

매개 변수
property:* — get이 액세스하는 속성의 식별자이며, 이 값은 해당 set 명령에 사용된 값과 동일해야 합니다.
returnType:* — 반환값의 데이터 유형입니다.

예제
예제 사용 방법
다음 예제에서는 Team 클래스를 정의합니다. Team 클래스에는 클래스 내에서 속성을 가져오거나 설정하는 데 사용할 수 있는 getter/setter 메서드가 포함되어 있습니다.
package {
	public class Team { 
		var teamName:String; 
		var teamCode:String; 
		var teamPlayers:Array = new Array(); 
		public function Team(param_name:String, param_code:String) { 
			teamName = param_name; 
			teamCode = param_code; 
		} 
		public function get name():String { 
			return teamName; 
		} 
		public function set name(param_name:String):void { 
			teamName = param_name; 
		}
	} 
}
스크립트에 다음 코드를 입력합니다.
var giants:Team = new Team("San Fran", "SFO"); 
trace(giants.name); 
giants.name = "San Francisco"; 
trace(giants.name); 
/*
San Fran San Francisco */
giants.name을 추적할 경우 getter 메서드를 사용하여 속성 값을 반환합니다.

관련 API 요소

if명령문 
구문

if (condition) {
	// statement(s)
}

조건을 평가하여 다음에 실행할 명령문을 결정합니다. 조건이 true이면 중괄호({}) 안에서 조건 뒤에 있는 명령문이 실행됩니다. 조건이 false이면 중괄호 안의 명령문을 건너뛰고 중괄호 다음의 명령문이 실행됩니다. if 문을 else 문과 함께 사용하면 스크립트에 분기 논리를 만들 수 있습니다.

명령문을 하나만 실행할 경우에는 if 문이 실행할 명령문을 둘러싸는 중괄호({})가 필요하지 않습니다.

매개 변수
condition:Boolean — true 또는 false로 평가되는 표현식입니다.

관련 API 요소

implements정의 키워드 
구문

myClass implements interface01 [, interface02 , ...] 

클래스가 하나 이상의 인터페이스를 구현하도록 지정합니다. 클래스가 인터페이스를 구현할 때 클래스는 인터페이스에 선언된 모든 메서드를 정의해야 합니다. 인터페이스를 구현한 클래스의 모든 인스턴스는 인터페이스에 정의된 데이터 유형의 멤버로 간주됩니다. 결과적으로 is 연산자는 클래스 인스턴스가 첫 번째 피연산자이고 인터페이스가 두 번째 피연산자일 때 true를 반환하며, 인터페이스에 정의된 데이터 유형과의 강제 형 변환이 수행됩니다.

매개 변수

관련 API 요소

import지시문 
구문

import packageName.className 
import packageName.*

외부적으로 정의된 클래스 및 패키지를 코드에서 사용할 수 있도록 만듭니다. 예를 들어, flash.display.Sprite 클래스를 스크립트에서 사용하려면 해당 클래스를 가져와야 합니다. 이 요구 사항은 이전 버전의 ActionScript에서 달라진 것입니다. 이전 버전에서는 import 지시문이 선택 사항이었습니다.

import 지시문을 사용한 후에는 클래스 이름만 포함되거나 패키지 이름이 포함된 전체 클래스 이름을 사용할 수 있습니다.

 
import flash.display.Sprite; 

// name of class only
var mySprite:Sprite = new Sprite();

// full class name
var mySprite:flash.display.Sprite = new flash.display.Sprite();

액세스하려는 패키지에 여러 개의 클래스가 있으면 다음 예제에서처럼 해당 파일을 모두 하나의 명령문으로 가져올 수 있습니다.

import flash.display.*;

import 지시문은 가져온 패키지의 최상위에 있는 클래스, 함수 및 변수만을 가져옵니다. 중첩 패키지는 명시적으로 가져와야 합니다.

클래스를 가져왔지만 스크립트에서 사용하지 않는 경우 클래스는 SWF 파일의 일부로 내보내지지 않습니다. 따라서 대규모의 패키지를 가져올 때 SWF 파일의 크기를 걱정할 필요가 없습니다. 클래스와 관련된 바이트코드는 해당 클래스가 실제로 사용되는 경우에만 SWF 파일에 포함됩니다. 필요하지 않은 클래스를 가져오게 되면 이름이 충돌할 가능성이 높아지는 단점이 있습니다.

// On Frame 1 of a FLA: 
import adobe.example.*; 
var myFoo:foo = new foo();

매개 변수
packageName:* — 별개의 클래스 파일에서 정의한 패키지의 이름입니다.
className:Class — 별개의 클래스 파일에서 정의한 클래스의 이름입니다.
include지시문 
구문

include "[path]filename.as"

지정된 파일의 내용을 포함합니다. 파일 내의 명령은 호출하는 스크립트의 일부인 것처럼 사용됩니다. include 지시문은 컴파일 타임에 호출됩니다. 그러므로 포함된 파일을 변경하게 되면 변경한 파일을 저장한 후 이 파일을 사용하는 SWF 파일을 다시 컴파일해야 합니다.

매개 변수
interface정의 키워드 
구문

 interface InterfaceName [extends InterfaceName ] {}

인터페이스를 정의합니다. 인터페이스는 해당 인터페이스를 구현하는 클래스에 의해 정의되어야 하는 일련의 메서드를 정의하는 데이터 유형입니다.

인터페이스는 클래스와 유사하지만 다음과 같은 중요한 차이가 있습니다.

  • 인터페이스에는 구현되지 않은 메서드 선언만 포함됩니다. 따라서 인터페이스를 구현하는 모든 클래스는 인터페이스에 선언된 각각의 메서드를 구현해야 합니다.
  • 인터페이스 메서드 정의는 public 또는 private와 같은 특성을 가질 수 없지만 구현된 메서드는 해당 인터페이스를 구현하는 클래스의 정의에서 public으로 표시되어야 합니다.
  • 인터페이스에서 extends 문을 사용하거나 클래스에서 implements 문을 사용하여 여러 인터페이스를 상속할 수 있습니다.

ActionScript 2.0과는 달리 ActionScript 3.0에서는 getter 및 setter 메서드를 인터페이스 정의에 사용할 수 있습니다.

매개 변수

관련 API 요소

internal특성 키워드 
구문

[internal] var varName
[internal] const kName
[internal] function functionName()  { 
	// your statements here 
}
[internal] class className{
	// your statements here 
}
[internal] namespace nsName

클래스, 변수, 상수 또는 함수를 동일한 패키지 내의 모든 호출자에서 사용할 수 있도록 지정합니다. 클래스, 속성 및 메서드는 기본적으로 internal 네임스페이스에 속합니다.

매개 변수
className:Class — internal로 지정할 클래스의 이름입니다.
varName:* — internal로 지정할 변수의 이름입니다. 변수가 클래스에 속해 있는지 여부와 상관없이 internal 특성을 적용할 수 있습니다.
kName:* — internal로 지정할 상수의 이름입니다. 상수가 클래스에 속해 있는지 여부와 상관없이 internal 특성을 적용할 수 있습니다.
functionName:Function — internal로 지정할 함수 또는 메서드의 이름입니다. 함수가 클래스에 속해 있는지 여부와 상관없이 internal 특성을 적용할 수 있습니다.
nsName:Namespace — internal로 지정할 네임스페이스의 이름입니다. 네임스페이스가 클래스에 속해 있는지 여부와 상관없이 internal 특성을 적용할 수 있습니다.

관련 API 요소

label명령문 
구문

label: statement
label: {
    statements
}

명령문을 break 또는 continue로 참조할 수 있는 식별자와 연결합니다. 중첩 루프에서 레이블을 참조하지 않는 break 또는 continue 명령문은 즉시 루프의 나머지 부분만을 건너뛸 수 있으며 전체 루프를 건너뛰지는 않습니다. 그러나 전체 루프를 정의하는 명령문에 연결된 레이블이 있는 경우 break 또는 continue 문은 해당 레이블을 참조하여 전체 루프를 건너뛸 수 있습니다.

또한 레이블을 사용하여 블록 명령문을 빠져 나올 수 있습니다. 블록 명령문이 루프의 일부가 아닌 경우에는 레이블을 참조하지 않는 break 문을 블록 명령문 내에 배치할 수 없습니다. 블록 명령문에 연결된 레이블이 있는 경우에는 해당 레이블을 참조하는 break 문을 블록 명령문 내에 배치할 수 있습니다.

매개 변수
label:* — 명령문과 연결할 유효한 식별자입니다.
statements:* — 레이블과 연결할 명령문입니다.

예제
예제 사용 방법
다음 예제에서는 중첩 루프에서 레이블을 사용하여 전체 루프에서 빠져 나오는 방법을 보여 줍니다. 이 코드에서는 중첩 루프를 사용하여 0부터 99까지의 숫자 목록을 생성합니다. break 문은 횟수가 80에 도달하기 전까지 발생합니다. break 문이 outerLoop 레이블을 사용하지 않는 경우 코드는 즉시 루프의 나머지 부분만을 건너뛴 다음 90부터 99까지의 숫자를 출력합니다. 그러나 이 예제에서는 outerLoop 레이블이 사용되므로 break 문은 전체 루프의 나머지 부분을 건너뛰며 79가 마지막으로 출력됩니다.
outerLoop: for (var i:int = 0; i < 10; i++) {
	for (var j:int = 0; j < 10; j++) {
		if ( (i == 8) && (j == 0)) {
			break outerLoop;
		}
		trace(10 * i + j);
	}
}
/*
1
2
...
79
*/
다음 예제에서는 레이블을 블록 명령문과 함께 사용하는 방법을 보여 줍니다. 다음 예제에서는 break 문이 블록의 마지막 명령문을 건너뛰도록 블록 명령문에 foo라는 레이블이 지정됩니다.
foo: {
	trace("a");
	break foo;
	trace("b");
}
// a

관련 API 요소

namespace정의 키워드 
구문

namespace name [= uri]

정의의 가시성을 제어할 수 있습니다. 미리 정의된 네임스페이스에는 public, private, protectedinternal이 포함됩니다.

다음 단계에서는 네임스페이스를 만들고, 적용하고, 참조하는 방법을 보여 줍니다.

  • 먼저 namespace 키워드를 사용하여 사용자 정의 네임스페이스를 정의합니다. 예를 들어, namespace version1 코드는 version1이라는 네임스페이스를 만듭니다.
  • 그런 다음 속성 또는 메서드 선언에 있는 사용자 정의 네임스페이스를 사용하여 속성 또는 메서드에 네임스페이스를 적용합니다. 예를 들어, version1 myProperty:String 코드는 version1 네임스페이스에 속한 myProperty라는 속성을 만듭니다.
  • 그런 다음 use 키워드를 사용하거나 네임스페이스 형식으로 식별자를 접두어로 사용하여 네임스페이스를 참조합니다. 예를 들어 use namespace version1; 코드는 이후 행에 대한 version1 네임스페이스를 참조하고, version1::myProperty 코드는 myProperty 속성에 대한 version1 네임스페이스를 참조합니다.

매개 변수
name:Namespace — 유효한 식별자가 될 수 있는 네임스페이스의 이름입니다.
uri:String — 네임스페이스의 URI(Uniform Resource Identifier)입니다. 이 매개 변수는 선택적입니다.

관련 API 요소

native특성 키워드 
구문

native function functionName();
class className { 
	native function methodName();
}

함수 또는 메서드가 Flash Player에 의해 기본 코드로 구현되도록 지정합니다. Flash Player는 내부적으로 native 키워드를 사용하여 ActionScript API(Application Programming Interface)에서 함수 및 메서드를 선언합니다. 이 키워드는 사용자의 코드에 사용할 수 없습니다.  

매개 변수
null기본 표현식 키워드 
구문

null

데이터가 제공되지 않은 경우 변수에 지정하거나 함수에서 반환할 수 있는 특수한 값입니다. null을 사용하여 누락된 값이나 정의된 데이터 유형이 없는 값을 나타낼 수 있습니다.

null 값과 특수 값 undefined를 혼동해서는 안 됩니다. equality 연산자(==)를 사용하여 nullundefined를 비교하면 동일한 것으로 나타납니다. 그러나 strict equality(===)를 사용하여 nullundefined를 비교하면 이들은 같지 않은 것으로 나타납니다.

매개 변수

예제
예제 사용 방법
다음 예제에서는 인덱스가 지정된 배열에서 처음 여섯 개의 값을 확인하고 값이 설정되지 않은 경우(값 == null인 경우) 메시지를 출력합니다.
var testArray:Array = new Array();
testArray[0] = "fee";
testArray[1] = "fi";
testArray[4] = "foo";

for (i = 0; i < 6; i++) {
    if (testArray[i] == null) {
        trace("testArray[" + i + "] == null");
    }
}

/* 
testArray[2] == null
testArray[3] == null
testArray[5] == null
*/

관련 API 요소

object_proxy 네임스페이스  

ObjectProxy 클래스의 메서드를 정의합니다. Proxy 하위 클래스에 Proxy 클래스 메서드와 일치하는 인스턴스 메서드 이름이 포함된 경우 발생할 수 있는 이름 충돌을 피하기 위해 ObjectProxy 클래스 메서드는 자체 네임스페이스에 있습니다.

매개 변수
override특성 키워드 
구문

override function name() { 
	// your statements here 
}

메서드가 상속된 메서드를 대체하도록 지정합니다. 상속된 메서드를 재정의하려면 override 특성을 사용하고, 이름, 클래스 속성 특성, 매개 변수의 수 및 유형, 반환 유형이 정확히 일치하는지 확인해야 합니다. override 특성을 사용하지 않고 메서드를 재정의하려고 하면 오류가 발생합니다. 마찬가지로 override 특성을 사용할 때 메서드에 일치하는 상속된 메서드가 없으면 오류가 발생합니다.

다음과 같은 항목에 대해서는 override 특성을 사용할 수 없습니다.

  • 변수
  • 상수
  • 정적 메서드
  • 상속되지 않은 메서드
  • 인터페이스 메서드를 구현한 메서드
  • 수퍼 클래스에서 final로 표시된 상속된 메서드

var 또는 const로 선언된 속성을 재정의할 수는 없지만 기본 클래스 속성을 getter-setter로 만들고 getset을 사용하여 정의된 메서드를 재정의하여 비슷한 기능을 얻을 수 있습니다.

매개 변수
name:Function — 재정의할 메서드 이름입니다.

관련 API 요소

package정의 키워드 
구문

package packageName {
    class someClassName { 
    } 
}

다른 스크립트에서 가져올 수 있도록 코드를 여러 그룹으로 분할해서 구성할 수 있습니다. package 키워드를 사용하여 클래스가 패키지의 멤버임을 나타내야 합니다.

매개 변수
packageName:* — 패키지 이름입니다.

관련 API 요소

private특성 키워드 
구문

class className{ 
	private var varName;
	private const kName;
	private function methodName() { 
		// your statements here 
	}
	private namespace nsName;
}

변수, 상수 또는 메서드를 선언하거나 정의하는 클래스에서만 변수, 상수 또는 메서드를 사용할 수 있도록 지정합니다. ActionScript 2.0과 달리 ActionScript 3.0에서는 private가 더 이상 하위 클래스에 대한 액세스를 제공하지 않습니다. 게다가 private는 컴파일 타임 및 런타임에서의 액세스를 제한합니다. 기본적으로 변수 또는 함수는 동일한 패키지의 모든 호출자에서 사용할 수 있습니다. 변수나 함수에 대한 액세스를 제한하고자 할 때 이 키워드를 사용합니다.

이 키워드는 클래스 정의에만 사용할 수 있으며 인터페이스 정의에는 사용할 수 없습니다. private는 클래스 또는 다른 패키지 레벨 정의에 적용할 수 없습니다.

매개 변수
varName:* — private로 지정할 변수의 이름입니다. 변수가 클래스 내에 있을 때만 private 특성을 적용할 수 있습니다.
kName:* — private로 지정할 상수의 이름입니다. 상수가 클래스 내에 있을 때만 private 특성을 적용할 수 있습니다.
methodName:Function — private로 지정할 메서드의 이름입니다. 메서드가 클래스 내에 있을 때만 private 특성을 적용할 수 있습니다.
nsName:Namespace — private로 지정할 네임스페이스의 이름입니다. 네임스페이스가 클래스 내에 있을 때만 private 특성을 적용할 수 있습니다.

예제
예제 사용 방법
다음 예제에서는 private 키워드를 사용하여 클래스 내에서 특정 속성을 숨기는 방법을 보여 줍니다.
class A { 
  private var alpha:String = "visible only inside class A"; 
  public var beta:String = "visible everywhere"; 
}
	
class B extends A {
  function B() {
    alpha = "Access attempt from subclass"; // error
  }
}
alpha는 전용 변수이므로 A 클래스의 외부에서 액세스할 수 없습니다. 하위 클래스 B 또한 A 클래스의 외부이므로 이 변수에 액세스할 수 없습니다. 전용 변수에 액세스하려고 시도하면 오류가 발생합니다.

관련 API 요소

protected특성 키워드 
구문

class className{ 
	protected var varName;
	protected const kName;
	protected function methodName() { 
		// your statements here 
	}
	protected namespace nsName;
}

변수, 상수, 메서드 또는 네임스페이스를 정의하는 클래스 또는 해당 클래스의 하위 클래스에서만 변수, 상수, 메서드 또는 네임스페이스를 사용할 수 있도록 지정합니다. ActionScript 3.0의 protected 정의는 ActionScript 2.0 버전의 private 정의와 비슷하지만 protected가 컴파일 타임 및 런타임에서의 액세스를 제한한다는 점이 다릅니다. 기본적으로 변수 또는 함수는 동일한 패키지의 모든 호출자에서 사용할 수 있습니다. 변수나 함수에 대한 액세스를 제한하고자 할 때 이 키워드를 사용합니다.

이 키워드는 클래스 정의에만 사용할 수 있으며 인터페이스 정의에는 사용할 수 없습니다. private는 클래스 또는 다른 패키지 레벨 정의에 적용할 수 없습니다.

ActionScript 3.0의 protected 정의는 Java 프로그래밍 언어의 protected 정의보다 제한적입니다. ActionScript 3.0 protected는 하위 클래스에 대한 액세스를 엄격하게 제한하는 반면 Java protected는 동일한 패키지 내의 모든 클래스에 대한 액세스를 허용합니다. 예를 들어, Base라는 클래스에 protected로 표시된 속성이 들어 있는 경우 ActionScript 3.0에서는 Base를 확장한 클래스만 protected 속성에 액세스할 수 있습니다. Java에서는 Base의 하위 클래스가 아니더라도 Base와 동일한 패키지에 있는 모든 클래스에서 protected 속성에 액세스할 수 있습니다.

매개 변수
varName:* — protected로 지정할 변수의 이름입니다. 변수가 클래스 내에 있을 때만 protected 특성을 적용할 수 있습니다.
kName:* — protected로 지정할 상수의 이름입니다. 상수가 클래스 내에 있을 때만 protected 특성을 적용할 수 있습니다.
methodName:Function — protected로 지정할 메서드의 이름입니다. 메서드가 클래스 내에 있을 때만 protected 특성을 적용할 수 있습니다.
nsName:Namespace — protected로 지정할 네임스페이스의 이름입니다. 네임스페이스가 클래스 내에 있을 때만 protected 특성을 적용할 수 있습니다.

예제
예제 사용 방법
다음 예제에서는 클래스 A에서 protected 클래스 변수를 만들고 클래스 B가 클래스 A의 하위 클래스이므로 클래스 B의 변수에 액세스할 수 있음을 보여 줍니다.
class A { 
  private var alpha:String = "visible only inside class A"; 
  protected var beta:String = "visible inside class A and its subclasses"; 
}
	
class B extends A {
  public function B() {
    beta = "Access attempt from subclass succeeded";
    trace(beta);  // Access attempt from subclass succeeded
  }
}

관련 API 요소

public특성 키워드 
구문

public var varName
public const kName
public function functionName()  { 
	// your statements here 
}
public class className {
	// your statements here 
}
public namespace nsName

모든 호출자가 클래스, 변수, 상수 또는 메서드를 사용할 수 있도록 지정합니다. 클래스, 변수 및 메서드는 기본적으로 내부 항목이므로 현재 패키지 내에서만 볼 수 있습니다. 클래스, 변수 또는 메서드를 모든 호출자에 표시하려면 public 특성을 사용해야 합니다.

매개 변수
className:Class — public으로 지정할 클래스의 이름입니다.
varName:* — public으로 지정할 변수의 이름입니다. 변수가 클래스에 속해 있는지 여부와 상관없이 public 특성을 적용할 수 있습니다.
kName:* — public으로 지정할 상수의 이름입니다. 상수가 클래스에 속해 있는지 여부와 상관없이 public 특성을 적용할 수 있습니다.
functionName:Function — public으로 지정할 함수 또는 메서드의 이름입니다. 함수가 클래스에 속해 있는지 여부와 상관없이 public 특성을 적용할 수 있습니다.
nsName:Namespace — public으로 지정할 네임스페이스의 이름입니다. 네임스페이스가 클래스에 속해 있는지 여부와 상관없이 public 특성을 적용할 수 있습니다.

예제
예제 사용 방법
다음 예제에서는 클래스 파일에서 공용 변수를 사용하는 방법을 보여 줍니다.
class User { 
	public var age:Number; 
	public var fname:String; 
} // end of class User definition
 
var jimmy:User = new User(); 
jimmy.age = 27; 
jimmy.fname = "jimmy";
trace(jimmy.age, jimmy.fname); // 27 jimmy
User 클래스의 공용 변수 중 하나를 전용 변수로 변경하는 경우 User 클래스 외부에서 해당 변수에 액세스하려고 하면 컴파일 타임 오류가 발생합니다.

관련 API 요소

return명령문 
구문

function functionName () {
	return [expression]
}

실행 시에 호출하는 함수에 즉시 반환됩니다. return 문 뒤에 표현식이 있는 경우에는 해당 표현식이 평가되고 결과가 반환됩니다.

함수 정의에 반환 유형이 들어 있는 경우 return 문은 표현식 뒤에 있어야 합니다. 반환 유형이 지정되지 않은 채로 return 문이 단독으로 사용된 경우에는 undefined가 반환됩니다.

여러 값을 반환할 수는 없습니다. 반환값을 여러 개 지정하면 마지막 값만 반환됩니다. 다음 예제에서는 c가 반환됩니다.

return a, b, c ;

여러 값을 반환해야 하는 경우에는 대신 배열이나 객체를 사용합니다.

매개 변수
expression:* — 함수의 값으로 평가하고 반환할 표현식입니다. 이 매개 변수는 선택적입니다.

예제
예제 사용 방법
다음 예제에서는 sum() 함수의 본문에서 return 문을 사용하여 세 매개 변수의 추가된 값을 반환합니다. 다음 코드 행에서는 sum()을 호출하여 반환값을 변수 newValue에 할당합니다.
function sum(a:Number, b:Number, c:Number):Number { 
	return (a + b + c); 
} 
var newValue:Number = sum(4, 32, 78); 
trace(newValue); // 114

관련 API 요소

set정의 키워드 
구문

function set property(newValue:*) : void{ 
	// your statements here 
}

공용 인터페이스에 속성으로 표시되는 메서드인 setter를 정의합니다. setter는 var 키워드로 선언된 속성 값을 설정하는 특수 메서드입니다. 다른 메서드와는 달리 setter는 괄호(()) 없이 호출되므로 변수처럼 보입니다.

setter를 사용하면 전용 속성에 대한 공용 인터페이스를 만들어서 정보 은폐 원칙을 적용할 수 있습니다. 정보 은폐 기술을 사용하면 전용 속성의 기본 구현이 변경되더라도 공용 인터페이스를 그대로 유지할 수 있습니다.

또한 setter를 사용하면 하위 클래스에서 재정의할 수 있는 반면 var로 선언된 속성은 하위 클래스에서 재정의할 수 없습니다.

setter의 반환 유형은 void이거나 지정되지 않아야 합니다.

setter와 getter를 결합하여 읽기/쓰기 속성을 만들 수 있습니다. 읽기 전용 속성을 만들려면 해당 setter는 만들지 않고 getter만 만듭니다. 쓰기 전용 속성을 만들려면 해당 getter는 만들지 않고 setter만 만듭니다.

매개 변수
property:* — set이 수정하는 속성의 식별자이며, 이 값은 해당 get 명령에 사용된 값과 동일해야 합니다.
newValue:* — 대입할 새 값입니다.

예제
예제 사용 방법
다음 예제에서는 getter-setter를 정의하여 age라는 읽기/쓰기 속성을 만듭니다.
package {
	class User { 
	    private var userAge:Number; 
	    
	    public function get age():Number {
	    	return userAge;
	    }
	    
	    public function set age(x:Number):void {
	    	userAge = x;	
	    }
	} 
} 
스크립트에 다음 코드를 입력합니다.
var myUser:User = new User();
myUser.age = 25;
trace(myUser.age); // 25

관련 API 요소

static특성 키워드 
구문

class someClassName{ 
	static var varName; 
	static const kName;
	static function methodName() { 
		// your statements here
	} 
}

변수, 상수 또는 메서드가 클래스의 인스턴스가 아니라 클래스에 속한 것으로 지정합니다.

정적 클래스 멤버에 액세스하려면 인스턴스 이름 대신 클래스 이름을 사용합니다. 예를 들어, Date 클래스에는 다음 구문을 사용해서 호출할 수 있는 parse()라는 정적 메서드가 있습니다.

Date.parse()

parse() 메서드는 Date 클래스의 인스턴스에서 호출할 수 없습니다. 예를 들어, 다음 코드에서는 오류가 발생합니다.

var myDate:Date = new Date();
            myDate.parse("Jan 01 00:00:00 2006"); // error

static은 클래스 정의에만 사용할 수 있으며 인터페이스 정의에는 사용할 수 없습니다.

정적 클래스 멤버는 상속되지 않습니다. Java 또는 C++에서처럼 하위 클래스의 이름을 사용하여 정적 클래스 멤버를 참조할 수 없습니다. 그러나 다음 예제를 참조하십시오.

정적 메서드 내에서는 super 문이나 this 키워드를 사용할 수 없습니다.

매개 변수
varName:* — static으로 지정할 변수의 이름입니다.
kName:* — static으로 지정할 상수의 이름입니다.
methodName:Function — static으로 지정할 메서드의 이름입니다.

예제
예제 사용 방법
다음 예제에서는 static 키워드를 사용하여 이제까지 생성된 클래스 인스턴스의 수를 추적하는 카운터를 만드는 방법을 보여 줍니다. numInstances 변수는 정적 변수이기 때문에 인스턴스마다 생성되는 것이 아니라 클래스 전체에 대해 한 번만 생성됩니다. Users.as라는 ActionScript 파일을 새로 만들고 다음과 같은 코드를 입력합니다.
class Users { 
	private static var numInstances:Number = 0; 
	function Users() { 
		numInstances++; 
	} 
	static function get instances():Number { 
		return numInstances; 
	} 
}
스크립트에 다음 코드를 입력합니다.
trace(Users.instances); 
var user1:Users = new Users(); 
trace(Users.instances); 
var user2:Users = new Users(); 
trace(Users.instances); 
다음 예제에서는 Users 클래스를 확장하여 정적 변수 및 메서드가 상속되지 않아도 하위 클래스에서 참조될 수 있음을 보여 줍니다.
class PowerUsers extends Users{
    function PowerUsers() {
        instances++;  // unqualified reference to static property Users.instances is legal
    }
}

trace(PowerUsers.instances); // error, cannot access static property using PowerUsers class

super명령문 
구문

super([arg1, ..., argN])
super.method([arg1, ..., argN])

메서드나 생성자의 수퍼 클래스 또는 부모 버전을 호출합니다. 클래스 생성자 본문 내에서 사용되는 super() 문은 생성자의 수퍼 클래스 버전을 호출합니다. 수퍼 클래스 생성자를 호출할 경우에는 올바른 개수의 인수가 있어야 합니다. 수퍼 클래스 생성자는 명시적으로 호출하지 않더라도 항상 호출됩니다. 명시적으로 호출하지 않은 경우에는 인수가 없는 호출이 하위 클래스 생성자 본문의 첫 번째 명령문 앞에 자동으로 삽입됩니다. 즉 하위 클래스에서 생성자 함수를 정의하고 수퍼 클래스 생성자가 하나 이상의 인수를 받는 경우에는 올바른 수의 인수를 가지고 수퍼 클래스 생성자를 명시적으로 호출해야 하며, 그렇지 않은 경우 오류가 발생합니다. 그러나 수퍼 클래스 생성자 호출은 하위 클래스 생성자의 첫 번째 명령문이 아니어도 됩니다. ActionScript 2.0에서는 첫 번째 명령문이어야 했습니다.

인스턴스 메서드의 본문에서 super를 dot(.) 연산자와 함께 사용하여 수퍼 클래스 버전의 메서드를 호출하고 (arg1 ... argN) 인수를 선택적으로 수퍼 클래스 메서드에 전달할 수 있습니다. 이 방법은 수퍼 클래스 메서드에 비헤이비어를 추가할 뿐만 아니라 수퍼 클래스 메서드를 호출하여 원래 비헤이비어를 수행하는 하위 클래스 메서드를 만드는 데 유용합니다.

super 문은 정적 멤버에서 사용할 수 없습니다.

매개 변수
method:Function — 수퍼 클래스에서 호출할 메서드입니다.
argN:* — 메서드의 수퍼 클래스 버전 또는 수퍼 클래스의 생성자 함수에 전달되는 선택적 매개 변수입니다.

관련 API 요소

switch명령문 
구문

switch (expression) {
	caseClause: 
	[defaultClause:] 
}

표현식의 값에 따라 여러 명령문 중 하나에 제어가 전달됩니다. 모든 switch 문에는 표현식과 일치하는 case 문이 없을 때 실행되는 기본 case가 있어야 합니다. 각 case 문에는 다음 case로 진행하는 것을 방지하기 위한 break 문이 들어 있어야 합니다. case 문이 조건 통과되면 다음 case 문이 테스트 표현식과 일치하지 않더라도 해당 case 문의 코드가 실행됩니다.

매개 변수
expression:* — 모든 표현식입니다.

예제
예제 사용 방법
다음 예제에서는 default case가 실행되는 switch 문을 정의합니다.
var switchExpression:int = 3;
		
switch (switchExpression) {
	case 0:
		trace(0);
		break;
	case 1:
		trace(1);
		break;
	case 2:
		trace(2);
		break;
	default:
		trace("Not 0, 1, or 2");
}

// Not 0, 1, or 2

관련 API 요소

this기본 표현식 키워드 
구문

this

메서드의 포함 객체에 대한 참조입니다. 스크립트가 실행되면 this 키워드는 스크립트를 포함한 객체를 참조합니다. 메서드 본문 내에서 this 키워드는 호출된 메서드를 포함한 클래스 인스턴스를 참조합니다.

매개 변수

예제
예제 사용 방법
동적 클래스에 정의된 함수를 호출하려면 this를 사용하여 적절한 범위에서 함수를 호출해야 합니다.
// incorrect version of Simple.as
/*
dynamic class Simple {
    function callfunc() {
        func();
    }
}
*/
// correct version of Simple.as
dynamic class Simple {
    function callfunc() {
        this.func();
    }
}
스크립트에 다음 코드를 추가합니다.
var simpleObj:Simple = new Simple();
simpleObj.func = function() {
	trace("hello there");
}
simpleObj.callfunc();
앞의 코드는 callfunc() 메서드에서 this를 사용할 때 작동합니다. 그러나 위 예제에서 주석 처리했던 잘못된 버전의 Simple.as를 사용할 경우 구문 오류가 발생합니다.

throw명령문 
구문

throw expression 

catch 코드 블록이 처리할 수 있거나 catch할 수 있는 오류를 생성하거나 throw합니다. catch 블록으로 예외를 catch할 수 없으면 throw된 값의 문자열 표시가 출력 패널로 전송됩니다. catch 또는 finally 블록으로 예외를 catch할 수 없으면 throw된 값의 문자열 표시가 로그 파일로 전송됩니다.

일반적으로 Error 클래스 또는 하위 클래스의 인스턴스를 throw합니다. 자세한 내용은 예제 단원을 참조하십시오.

매개 변수
expression:* — ActionScript 표현식 또는 객체입니다.

예제
예제 사용 방법
이 예제에서 checkEmail()이라는 함수는 전달된 문자열이 올바른 전자 메일 주소 형식인지 확인합니다. 문자열에 @ 심볼이 없으면 함수에서 오류가 throw됩니다.
function checkEmail(email:String) { 
	if (email.indexOf("@") == -1) { 
		throw new Error("Invalid email address"); 
	} 
} 
checkEmail("someuser_theirdomain.com");
그런 후 다음 코드는 try 코드 블록 내에서 동일한 함수인 checkEmail() 함수를 호출합니다. 전자 메일 문자열에 유효한 전자 메일 주소가 들어 있지 않으면 trace 문에서 오류 메시지를 출력합니다.
try { 
	checkEmail("Joe Smith"); 
} 
catch (e) { 
	trace(e); 
}
// Error: Invalid email address.
다음 예제에서는 Error 클래스의 하위 클래스가 throw됩니다. 이 하위 클래스의 인스턴스를 throw하기 위해 checkEmail() 함수를 수정합니다.
// Define Error subclass InvalidEmailError 
class InvalidEmailAddress extends Error { 
    public function InvalidEmailAddress() {
    	message = "Invalid email address."; 
    }
}
스크립트에 다음 코드를 입력합니다.
import InvalidEmailAddress; 
function checkEmail(email:String) { 
	if (email.indexOf("@") == -1) { 
		throw new InvalidEmailAddress(); 
	} 
} 
try { 
	checkEmail("Joe Smith"); 
} 
catch (e) { 
	trace(e);
}
// Error: Invalid email address.

관련 API 요소

true기본 표현식 키워드 
구문

true

true를 나타내는 부울 값입니다. 부울 값은 true 또는 false이며, true의 반대는 false입니다. 자동 데이터 유형 지정 기능이 true를 숫자로 변환하면 1이 됩니다. true를 문자열로 변환하면 "true"가 됩니다.

매개 변수

예제
예제 사용 방법
다음 예제에서는 if 문에서 true를 사용하는 방법을 보여 줍니다.
var shouldExecute:Boolean;
// ...
// code that sets shouldExecute to either true or false goes here
// shouldExecute is set to true for this example:

shouldExecute = true;

if (shouldExecute == true) {
    trace("your statements here");
}

// true is also implied, so the if statement could also be written:
// if (shouldExecute) {
//         trace("your statements here");
// }
다음 예제에서는 자동 데이터 유형 지정 기능이 true를 숫자 1로 변환하는 방법을 보여 줍니다.
var myNum:Number;
myNum = 1 + true;
trace(myNum); // 2

관련 API 요소

try..catch..finally명령문 
구문

try { 
    // try block 
} finally { 
    // finally block  
} 

try { 
    // try block 
} catch(error[:ErrorType1]) {
    // catch block 
} [catch(error[:ErrorTypeN]) { 
    // catch block 
}] [finally {
    // finally block 
}]

오류가 발생할 수 있는 코드 블록을 포함하고 오류에 대응합니다. try..catch..finally 문을 사용하여 구현되는 예외 처리는 ActionScript 3.0의 런타임 오류 조건을 처리하는 기본 메커니즘입니다. 런타임 오류가 발생하면 예외가 throw되어 정상적인 실행이 중지되고 Error 유형의 특수 객체가 만들어집니다. 그런 다음 사용할 수 있는 첫 번째 catch 블록에 오류 객체가 전달 또는 throw됩니다. 사용할 수 있는 catch 블록이 없는 경우에는 예외가 catch되지 않는 예외인 것으로 간주됩니다. catch되지 않는 예외가 발생하면 스크립트가 종료됩니다.

코드에서 throw 문을 사용하여 예외를 명시적으로 throw할 수 있습니다. 아무 값이나 throw할 수 있지만 유연성이 좋고 Flash Player의 동작과 일치하는 객체를 throw하는 것이 좋습니다.

예외가 Flash Player에서 throw되었는지, 사용자 코드에서 throw되었는지 상관없이 예외를 catch하려면 예외를 throw하는 코드를 try 블록에 배치합니다. try 블록 내의 코드가 예외를 throw하면 catch 블록(있는 경우)에 제어가 전달된 다음 finally 블록(있는 경우)으로 전달됩니다. finally 블록은 예외가 throw되었는지 여부에 관계없이 항상 실행됩니다. try 블록 내의 코드가 예외를 throw하지 않은 경우, 즉 try 블록이 정상적으로 완료된 경우에는 catch 블록 내의 코드가 무시되지만 finally 블록 내의 코드는 실행됩니다. finally 블록은 try 블록이 return 문을 사용하여 종료된 경우에도 실행됩니다.

try 블록 다음에는 catch 블록이나 finally 블록 또는 둘 모두가 와야 합니다. 단일 try 블록에는 여러 catch 블록이 포함될 수 있지만 finally 블록은 하나만 포함됩니다. try 블록은 무제한 중첩될 수 있습니다.

catch 핸들러에 지정된 error 매개 변수는 e, theException 또는 x와 같은 간단한 식별자여야 합니다. 매개 변수의 유형도 지정할 수 있습니다. 여러 catch 블록을 사용할 때 유형 지정된 매개 변수를 사용하면 단일 try 블록에서 throw된 여러 유형의 오류 객체를 catch할 수 있습니다.

throw된 예외가 객체인 경우 throw된 객체가 특정 유형의 하위 클래스이면 유형이 일치하게 됩니다. 특정 유형의 오류가 throw되면 해당 오류를 처리하는 catch 블록이 실행됩니다. 지정된 유형이 아닌 예외가 throw되면 catch 블록이 실행되지 않고 예외는 자동으로 try 블록 밖으로 throw되어 일치하는 catch 핸들러로 이동합니다.

오류가 함수 내에서 throw되고 함수에 catch 핸들러가 없으면 Flash Player는 catch 블록이 발견될 때까지 해당 함수는 물론 호출자 함수도 종료합니다. 이러한 과정에서 finally 핸들러는 모든 단계에서 호출됩니다.

매개 변수
error:* — throw 문에서 throw된 표현식으로, 주로 Error 클래스 또는 해당 하위 클래스 중 하나의 인스턴스입니다.

예제
예제 사용 방법
다음 예제에서는 try..catch 문을 보여 줍니다. try 블록 내의 코드에 유효하지 않은 연산이 들어 있습니다. sprite는 자신을 자식으로 추가할 수 없습니다. 따라서 Flash Player가 예외를 throw하고, ArgumentError 유형의 객체를 해당 catch 블록에 전달합니다.
import flash.display.Sprite;

var spr:Sprite = new Sprite();
try {
	spr.addChild(spr);
}
catch (e:ArgumentError) {
	trace (e); // ArgumentError: Error #2024: An object may not be added as a child of itself.
}
다음 예제에서 RecordSetException 및 MalformedRecord 객체는 Error 클래스의 하위 클래스입니다.
class RecordSetException extends Error { 
	public function RecordSetException () {
		message = "Record set exception occurred."; 
	}
}

class MalformedRecord extends Error { 
	public function MalformedRecord {
		message = "Malformed record exception occurred."; 
	}
}
RecordSet 클래스의 sortRows() 메서드 내에서 발생한 예외의 유형에 따라 미리 정의된 오류 객체 중 하나가 throw됩니다. 다음 예제에서는 이 코드가 어떤 식으로 실행되는지 보여 줍니다.
class RecordSet { 
	public function sortRows() { 
		var returnVal:Number = randomNum(); 
		if (returnVal == 1) { 
			throw new RecordSetException(); 
		} 
		else if (returnVal == 2) { 
			throw new MalformedRecord(); 
		} 
	}
	public function randomNum():Number { 
		return Math.round(Math.random() * 10) % 3; 
	}
}
마지막으로 다음 코드에서는 RecordSet 클래스 인스턴스의 sortRows() 메서드를 호출합니다. 이 코드는 sortRows()에 의해 throw된 각 유형의 오류 객체에 대한 catch 블록을 정의합니다.
import RecordSet; 
var myRecordSet:RecordSet = new RecordSet();
try { 
	myRecordSet.sortRows(); 
	trace("everything is fine"); 
} 
catch (e:RecordSetException) { 
	trace(e.toString()); 
} 
catch (e:MalformedRecord) { 
	trace(e.toString()); 
}

관련 API 요소

use namespace지시문 
구문

use namespace ns1[, ns2, ...nsN]

지정된 네임스페이스가 열려 있는 네임스페이스 세트에 추가되도록 합니다. 지정된 네임스페이스는 현재 코드 블록이 종료될 때 열려 있는 네임스페이스 세트에서 제거됩니다. use namespace 지시문은 프로그램의 최상위 수준, 즉 패키지 정의 또는 클래스 정의에 나타날 수 있습니다.

매개 변수
nsN:Namespace — 열려 있는 네임스페이스 세트에 추가할 하나 이상의 네임스페이스입니다.

관련 API 요소

var정의 키워드 
구문

var variableName [= value1][...,variableNameN[=valueN]] 

변수를 지정합니다. 함수 내에서 변수를 선언하면 로컬 변수가 됩니다. 로컬 변수는 함수에 대해 정의되며 함수 호출이 끝나면 만료됩니다.

다른 객체의 범위에 있는 변수는 로컬 변수로 선언할 수 없습니다.

my_array.length = 25; // ok 
var my_array.length = 25; // syntax error 

데이터 유형 앞에 콜론 문자를 추가하면 데이터 유형을 변수에 대입할 수 있습니다.

각각의 선언을 쉼표로 구분하면 여러 변수를 하나의 명령문에서 선언할 수 있습니다. 단, 이와 같은 구문은 코드의 명확성을 떨어뜨릴 수 있습니다.

var first:String = "Bart", middle:String = "J.", last:String = "Bartleby";

매개 변수
variableName:* — 식별자입니다.

예제
예제 사용 방법
다음 ActionScript에서는 제품 이름 배열을 새로 만듭니다. Array.push는 배열의 끝에 요소를 하나 추가합니다.
var product_array:Array = new Array("Studio", "Dreamweaver", "Flash", "ColdFusion", "Contribute", "Breeze"); 
product_array.push("Flex"); 
trace(product_array); 
// Studio,Dreamweaver,Flash,ColdFusion,Contribute,Breeze,Flex

관련 API 요소

while명령문 
구문

while (condition) { 
	// statement(s)
}

조건을 평가하고 조건이 true로 평가되면 하나 이상의 명령문을 실행한 후 루프로 돌아가서 조건을 다시 평가합니다. 조건이 false로 평가되면 명령문이 생략되고 루프가 종료됩니다.

while 문은 다음과 같은 일련의 단계를 수행합니다. 1~4단계까지의 각 반복을 루프 반복이라고 합니다. 다음 단계와 같이 반복을 시작할 때마다 조건을 테스트합니다.

  1. condition 표현식이 평가됩니다.
  2. conditiontrue 또는 부울 값 true로 변환되는 값(예: 0이 아닌 숫자)으로 평가되면 3단계로 이동합니다. 그렇지 않으면 while 문이 완료되고 while 루프 이후의 다음 명령문에서 실행이 재개됩니다.
  3. 명령문 블록 statement(s)를 실행합니다. continue 문이 나타나면 나머지 명령문을 건너뛰고 1단계로 이동합니다. break 문이 나타나면 while 문이 완료되고 while 루프 이후의 다음 명령문에서 실행이 재개됩니다.
  4. 1단계로 이동합니다.

일반적으로 반복은 카운터 변수가 지정된 값보다 작을 때 액션을 수행하기 위해 사용됩니다. 각 루프가 끝나면 지정된 값이 될 때까지 카운터가 증가합니다. 이때 condition은 더 이상 true가 아니며 루프가 끝납니다.

명령문을 하나만 실행할 경우에는 while 문이 실행할 명령문을 둘러싸는 중괄호({})가 필요하지 않습니다.

매개 변수
condition:Boolean — true 또는 false로 평가되는 표현식입니다.

예제
예제 사용 방법
다음 예제에서는 while 문을 사용하여 표현식을 테스트합니다. i 값이 20보다 작으면 i 값이 추적됩니다. 조건이 더 이상 true가 아니면 루프가 종료됩니다.
var i:Number = 0; 
while (i < 20) { 
	trace(i); 
	i += 3; 
}
/*
0 
3 
6 
9 
12
15 
18
*/

관련 API 요소

with명령문 
구문

with (object:Object) { 
	// statement(s)
}

명령문을 실행하는 데 사용할 기본 객체를 만듭니다. 이 객체를 사용하면 작성해야 하는 코드의 양을 줄일 수 있습니다.

object 매개 변수는 statement(s) 매개 변수의 속성, 변수 및 함수를 읽는 컨텍스트가 됩니다. 예를 들어, objectmy_array이고 지정된 두 개의 속성이 lengthconcat이면 이러한 속성은 자동으로 my_array.lengthmy_array.concat로 판독됩니다. 다른 예로, objectstate.california이면 with 문 내의 액션 또는 명령문은 california 인스턴스 내에서 호출됩니다.

statement(s) 매개 변수에서 식별자 값을 찾기 위해 ActionScript는 object가 지정한 범위 체인이 시작되는 곳에서 시작하고 특정 순서대로 범위 체인의 각 수준에서 식별자를 검색합니다.

식별자를 확인하기 위해 with 문에서 사용하는 범위 체인은 다음 목록의 첫 항목에서 시작하여 마지막 항목까지 계속됩니다.

  • 가장 안쪽에 있는 with 문의 object 매개 변수에 지정된 객체
  • 가장 바깥쪽에 있는 with 문의 object 매개 변수에 지정된 객체
  • Activation 객체(함수에서 호출되는 로컬 변수를 갖고 있는 함수를 스크립트에서 호출할 때 자동으로 만들어지는 임시 객체)
  • 현재 실행 중인 스크립트가 포함된 객체
  • 전역 객체(Math와 String 같은 내장 객체)

with 문 안에서 변수를 설정하려면 변수가 with 문 외부에 선언되어 있거나 변수를 활성화할 타임라인의 전체 경로를 입력해야 합니다. 변수를 선언하지 않고 with 문에 설정하면 with 문은 범위 체인에 따라 값을 찾습니다. 변수가 아직 없으면 with 문이 호출된 타임라인에 새 값이 설정됩니다.

매개 변수
object:Object — ActionScript 객체 또는 동영상 클립의 인스턴스입니다.

예제
예제 사용 방법
다음 예제에서는 someOther_mc 인스턴스의 _x 속성과 _y 속성을 설정한 후 someOther_mc에 프레임 3으로 이동한 후 중지하도록 지시합니다. with (someOther_mc) { _x = 50; _y = 100; gotoAndStop(3); } 다음 코드 예제에서는 with 문을 사용하지 않고 앞의 코드를 작성하는 방법을 보여 줍니다. someOther_mc._x = 50; someOther_mc._y = 100; someOther_mc.gotoAndStop(3); with 문은 범위 체인 목록에 있는 여러 항목을 동시에 액세스할 때 유용합니다. 다음 예제에서는 내장 Math 객체가 범위 체인의 맨 앞에 옵니다. Math를 기본 객체로 설정하면 cos, sin, PI 식별자가 각각 Math.cos, Math.sin, Math.PI로 확인됩니다. a, x, y 및 r 식별자는 Math 객체의 메서드나 속성은 아니지만 polar() 함수의 객체 활성화 범위 내에 존재하기 때문에 해당 로컬 변수로 확인됩니다.
function polar(r:Number):void { 
	var a:Number, x:Number, y:Number; 
	with (Math) { 
		a = PI * pow(r, 2); 
		x = r * cos(PI); 
		y = r * sin(PI / 2); 
	} 
	trace("area = " + a); 
	trace("x = " + x); 
	trace("y = " + y); 
} polar(3);
/* 
area = 28.2743338823081 
x = -3 
y = 3
*/

[ X ]영어로 표시되는 이유
ActionScript 3.0 참조 설명서의 내용이 영어로 나타납니다.

ActionScript 3.0 참조 설명서 중 일부는 전체 언어로 번역되지 않았습니다. 언어 요소가 번역되지 않은 경우 영어로 나타납니다. 예를 들어 ga.controls.HelpBox 클래스는 어떤 언어로도 번역되지 않았습니다. 그러므로 한국어 버전의 참조 설명서에서 ga.controls.HelpBox 클래스는 영어로 나타납니다.