Flash CS3 설명서 |
|||
| ActionScript 3.0 프로그래밍 > ActionScript 언어 및 구문 > 데이터 유형 | |||
데이터 유형은 값의 집합을 정의합니다. 예를 들어, Boolean 데이터 유형은 true와 false 두 가지 값의 집합입니다. ActionScript 3.0에서는 Boolean 데이터 유형 외에도 String, Number 및 Array 등 보다 일반적으로 사용되는 여러 데이터 유형을 정의합니다. 클래스 또는 인터페이스를 사용하여 직접 데이터 유형을 정의하고 사용자 정의 값 집합을 정의할 수 있습니다. 프리미티브 값 또는 복합 값인지에 관계없이 ActionScript 3.0에서 모든 값은 객체입니다.
프리미티브 값은 Boolean, int, Number, String 및 uint 데이터 유형 중 하나에 속한 값입니다. 일반적으로 프리미티브 값을 사용하여 작업하면 복합 값을 사용하여 작업하는 것보다 속도가 빠릅니다. 이는 ActionScript에서 메모리와 속도를 최적화할 수 있는 특수 방식으로 프리미티브 값을 저장하기 때문입니다.
|
중요 |
|
기술적인 세부 사항에 관심이 있는 독자를 위해 설명하자면 ActionScript 내부적으로는 프리미티브 값을 변경되지 않는 객체로 저장합니다. 프리미티브 값을 변경되지 않는 객체로 저장한다는 것은 참조에 의한 전달이 실제로는 값에 의한 전달과 동일함을 의미합니다. 일반적으로 값 자체의 크기보다 참조의 크기가 매우 작으므로 참조에 의한 전달을 통해 메모리 사용량이 줄어들고 실행 속도가 빨라집니다. |
복합 값은 프리미티브 값이 아닌 값입니다. 복합 값 집합을 정의하는 데이터 유형에는 Array, Date, Error, Function, RegExp, XML 및 XMLList 등이 있습니다.
많은 프로그래밍 언어에서 프리미티브 값과 래퍼 객체를 구분합니다. 예를 들어, Java에는 int 프리미티브 값과 이 값을 래핑하는 java.lang.Integer 클래스가 있습니다. Java 프리미티브 값은 객체가 아니지만 Java 프리미티브 값의 래퍼는 객체입니다. 이러한 차이점으로 인해 일부 연산에는 프리미티브 값이 유용하고 나머지 연산에는 래퍼 객체가 보다 적합합니다. ActionScript 3.0에서 프리미티브 값과 해당 래퍼 객체는 실제로 구분할 수 없습니다. 프리미티브 값을 포함한 모든 값이 객체입니다. Flash Player에서는 이러한 프리미티브 유형을 객체처럼 동작하지만 객체를 만드는 작업과 관련된 일반적인 오버헤드를 발생시키지 않는 특별한 경우로 간주합니다. 이는 다음 두 코드 행이 동일하다는 것을 의미합니다.
var someInt:int = 3; var someInt:int = new int(3);
위에 나열된 프리미티브 및 복합 데이터 유형은 모두 ActionScript 3.0 기본 클래스에 의해 정의됩니다. 기본 클래스를 사용하면 new 연산자 대신 리터럴 값을 사용하여 객체를 만들 수 있습니다. 예를 들어 다음과 같이 리터럴 값 또는 Array 클래스 생성자를 사용하여 배열을 만들 수 있습니다.
var someArray:Array = [1, 2, 3]; // 리터럴 값 var someArray:Array = new Array(1,2,3); // Array 생성자
Flash CS3
이 페이지에 의견 추가되면 전자 메일 알림 받기 | 의견 보고서
현재 페이지: http://livedocs.adobe.com/flash/9.0_kr/main/00000044.html