프로그래밍 기본 사항

ActionScript는 프로그래밍 언어이기 때문에 먼저 몇 가지 일반적인 컴퓨터 프로그래밍 개념을 이해하면 ActionScript를 익히는 데 도움이 됩니다.

컴퓨터 프로그램으로 수행하는 작업

먼저 컴퓨터 프로그램이란 무엇이며 이를 통해 수행할 수 있는 작업은 무엇인지에 대한 개념을 정립하는 것이 좋습니다. 컴퓨터 프로그램은 다음과 같은 두 가지 측면에서 살펴 볼 수 있습니다.

  • 프로그램은 컴퓨터에서 수행할 일련의 명령 또는 단계입니다.

  • 각 단계는 궁극적으로 정보 또는 데이터의 일부를 조작하는 것과 관련이 있습니다.

일반적으로 컴퓨터 프로그램은 컴퓨터에 지정하는 단계별 명령 목록이며 이러한 명령은 하나씩 수행됩니다. 각 개별 명령을 명령문이라고 합니다. ActionScript에서 작성하는 각 명령문은 세미콜론으로 끝납니다.

사실 프로그램에 지정된 명령에 의해 수행되는 작업은 컴퓨터 메모리에 저장된 데이터의 일부 비트를 조작하는 것이 전부입니다. 간단한 예로 두 숫자를 더하여 결과를 메모리에 저장하도록 컴퓨터에 명령하는 경우를 들 수 있습니다. 보다 복잡한 예로는 화면에 그려진 사각형을 화면의 다른 영역으로 이동하도록 프로그램을 작성하려는 경우가 있습니다. 이 경우 컴퓨터는 사각형의 x 및 y 좌표, 너비와 높이, 색상 등 사각형에 대한 특정 정보를 기억하며, 이러한 정보의 각 비트가 컴퓨터 메모리에 저장됩니다. 사각형을 다른 위치로 이동하는 프로그램에는 "x 좌표를 200으로 변경하고 y 좌표를 150으로 변경하는" 단계들이 포함됩니다. 즉, 이 프로그램은 x 및 y 좌표의 새 값을 지정하게 됩니다. 컴퓨터는 이러한 숫자를 컴퓨터 화면에 표시되는 이미지로 변환하기 위해 메모리에 저장된 데이터를 사용하여 필요한 작업을 배후에서 수행합니다. 그러나 이에 대한 매우 세부적인 지식이 필요하지 않은 경우라면 "화면의 사각형을 이동하는" 과정에서 컴퓨터 메모리의 데이터 비트를 변경하게 된다는 사실을 이해하는 것으로 충분합니다.

변수 및 상수

프로그래밍은 주로 컴퓨터 메모리의 여러 정보를 변경하는 것과 관련됩니다. 따라서 프로그램에서 개별적인 정보를 나타낼 수 있는 방법이 제공되어야 합니다. 변수는 컴퓨터 메모리에 있는 값을 나타내는 이름입니다. 값을 조작하기 위해 명령문을 작성할 때 값 대신 변수 이름을 사용합니다. 이렇게 하면 프로그램 내에서 변수 이름이 식별될 때마다 컴퓨터에서 메모리를 조회하여 발견된 값을 사용합니다. 예를 들어 숫자가 저장된 value1value2라는 두 개의 변수가 있는 경우 해당 숫자를 더하기 위해 다음과 같은 명령문을 작성할 수 있습니다.

value1 + value2

실제로 일련의 단계가 실행되면 컴퓨터에서 각 변수의 값을 확인하고 두 값을 더합니다.

ActionScript 3.0에서 실제로 변수는 다음과 같은 세 부분으로 구성됩니다.

  • 변수 이름

  • 변수에 저장할 수 있는 데이터의 유형

  • 컴퓨터 메모리에 저장된 실제 값

컴퓨터에서 값에 대한 자리 표시자로 이름을 사용하는 방법에 대해 살펴보았습니다. 데이터 유형도 중요합니다. ActionScript에서 변수를 만들 때는 해당 변수가 저장할 데이터의 유형을 지정합니다. 데이터 유형을 지정한 이후 프로그램의 명령은 이 변수에 해당 유형의 데이터만 저장할 수 있습니다. 변수의 값을 조작할 때는 해당 데이터 유형과 관련된 특징이 사용됩니다. ActionScript에서 변수를 만들거나 선언하려면 다음과 같이 var 문을 사용합니다.

var value1:Number;

다음 예제에서는 Number 데이터만 저장할 수 있는 value1이라는 변수를 만들도록 컴퓨터에 지시합니다. "Number"는 ActionScript에 정의된 데이터 유형 중 하나입니다. 또한 다음과 같이 변수에 값을 바로 저장할 수도 있습니다.

var value2:Number = 17;

Adobe Flash Professional

Flash Professional에서는 또 다른 방법으로 변수를 선언할 수 있습니다. 스테이지에 텍스트 필드, 버튼 심볼 또는 동영상 클립 심볼을 배치할 때 속성 관리자에서 인스턴스 이름을 지정할 수 있습니다. 그러면 Flash Professional에서 자동으로 인스턴스 이름과 동일한 이름의 변수를 만듭니다. 이 이름은 ActionScript 코드에서 스테이지 항목을 나타내는 데 사용할 수 있습니다. 예를 들어 스테이지에 동영상 클립 심볼이 있고 이 심볼에 rocketShip이라는 인스턴스 이름을 지정한 경우를 가정해 봅니다. 이 경우 ActionScript 코드에서 rocketShip 변수를 사용할 때마다 실제로는 해당 동영상 클립을 조작하게 됩니다.

변수와 유사한 것으로 상수가 있습니다. 상수는 컴퓨터 메모리에 저장되는 지정된 데이터 유형의 값을 나타내는 이름입니다. 차이점은 상수의 경우 ActionScript 응용 프로그램 과정에서 한 번만 값을 할당할 수 있다는 것입니다. 상수의 값이 할당되면 전체 응용 프로그램에서 동일합니다. 상수 선언 구문은 변수 선언 구문과 거의 동일합니다. var 키워드 대신 const 키워드를 사용한다는 것이 유일한 차이점입니다.

const SALES_TAX_RATE:Number = 0.07;

상수는 전체 프로젝트의 여러 위치에서 사용되며 정상적인 상황에서 변경되지 않는 값을 정의하는 데 유용합니다. 리터럴 값 대신 상수를 사용하면 코드를 보다 쉽게 읽을 수 있습니다. 동일한 코드의 두 가지 버전을 예로 들어 보겠습니다. 한 버전에서는 가격에 SALES_TAX_RATE를 곱하고, 다른 버전에서는 가격에 0.07을 곱한다고 가정합니다. 두 버전 중 SALES_TAX_RATE 상수를 사용하는 버전이 이해하기 쉽습니다. 또한 상수로 정의된 값은 변경할 수 있다는 점을 생각해 보십시오. 프로젝트 전체에서 특정 값을 나타내기 위해 상수를 사용할 경우 한 위치, 즉 상수 선언에서만 값을 변경하면 됩니다. 이와 달리 하드 코딩된 리터럴 값을 사용하면 여러 위치에서 값을 변경해야 합니다.

데이터 유형

ActionScript에는 변수의 데이터 유형으로 사용할 수 있는 여러 데이터 유형이 있습니다. 다음과 같은 데이터 유형을 "간단"하고 "기본적"인 데이터 유형으로 간주할 수 있습니다.

  • String: 설명서의 텍스트 또는 이름과 같은 텍스트 값입니다.

  • Numeric: ActionScript 3.0에는 숫자 데이터에 사용할 수 있는 세 가지 데이터 유형이 있습니다.

    • Number: 분수이거나 분수가 아닌 값을 비롯한 모든 숫자 값

    • int: 정수(분수가 아닌 모든 숫자)

    • uint: "부호 없는" 정수(음수가 될 수 없는 정수)

  • Boolean: 스위치가 켜져 있는지 또는 두 값이 같은지 여부를 지정하는 true 또는 false 값

간단한 데이터 유형은 단일 숫자 또는 텍스트의 단일 시퀀스 같은 단일 정보를 나타냅니다. 그러나 ActionScript에 정의된 대부분의 데이터 유형은 복합 데이터 유형일 수 있습니다. 이러한 데이터 유형은 값 집합을 단일 컨테이너로 나타냅니다. 예를 들어 Date 데이터 유형의 변수는 해당 시점을 의미하는 단일 값을 나타냅니다. 그러나 날짜 값은 단일 값이 아니라 각각 개별 숫자인 일, 월, 년, 시, 분, 초 등의 여러 값으로 표현됩니다. 이러한 특성에도 불구하고 날짜는 일반적으로 단일 값으로 간주되고 있으며 Date 변수를 만들면 날짜를 단일 값으로 처리할 수 있습니다. 그러나 컴퓨터 내부적으로는 이 값을 단일 값이 아니라 여러 값이 결합하여 단일 날짜를 정의하는 그룹으로 간주합니다.

대부분의 내장 데이터 유형 및 프로그래머가 정의한 데이터 유형은 복합 데이터 유형입니다. 널리 사용되는 복합 데이터 유형은 다음과 같습니다.

  • MovieClip: 동영상 클립 심볼

  • TextField: 동적 또는 입력 텍스트 필드

  • SimpleButton: 버튼 심볼

  • Date: 해당 시점에 대한 정보(날짜 및 시간)

클래스와 객체는 데이터 유형에 대한 동의어로 자주 사용되는 단어입니다. 클래스는 데이터 유형에 대한 정의라고 간단히 설명할 수 있습니다. 클래스는 해당 데이터 유형의 모든 객체를 위한 템플릿과 유사한 것으로, "Example 데이터 유형의 모든 변수는 A, B 및 C라는 특징을 갖습니다."라고 기술하는 것으로 보면 됩니다. 반면 객체는 특정 클래스의 실제 인스턴스입니다. 예를 들어 데이터 유형이 MovieClip인 변수는 MovieClip 객체로 설명될 수 있습니다. 다음과 같이 동일한 변수를 각각 다르게 설명할 수 있습니다.

  • myVariable 변수의 데이터 유형은 Number입니다.

  • myVariable 변수는 Number 인스턴스입니다.

  • myVariable 변수는 Number 객체입니다.

  • myVariable 변수는 Number 클래스의 인스턴스입니다.