관리 메뉴

nkdk의 세상

AS3.0의 그룹 함수(function) 메소드라고 하죠? 본문

My Programing/ActionScript

AS3.0의 그룹 함수(function) 메소드라고 하죠?

nkdk 2008. 3. 9. 22:20
Function 과 function 은 일단 다릅니다.

function의 모음이 Function 이라고 할 수 있습니다. 즉 function의 컬렉터 Function 더 크시다는 사실을 알아두시고 갑니다.

function 을 이용해 함수만 정의 할 경우
function functionName(param:DataType) : returnDataType
{
// 로직
}

함수를 정의해서 변수로 저장하는 경우
var fVar:Function = function(param:DataType) : returnDataType
{
// 로직
}

자 실제로 적용해 볼까요?

예1)
function sumTest(i:int, j:int):int
{
return (i+j);
}
var iSum:int = sumTest(10,20);
trace(iSum);

이건 가장 일반적이고 위에 있는 Function 을 이용해서 조금 변형을 해봅시다.

function sumTest(i:int, j:int):int
{
return(i+j);
}

var iSum:int = sumTest(10,20);
trace(iSum); // 30

var fVar:Function; // 함수를 저장하는 변수 정의함
fVar = sumTest;

iSum = fVar(40,50);
trace(iSum); // 90 40+50 이니까 90이죠 ^^ function자체를 싣는 Function 변수 설정을 이용한 변형입니다^^

자 이정도만 해도 충분하긴 한데 유용한 기능을 몇개 알아 봤네요. 자바의 기능이 되나 해서 해봤더니 역시 되네요 ^^ getter 와 setter 입니다.

예) getter 와 setter 를 통한 함수 구현

var sVar:String = "default value";
// get함수는 파라미터가 없고 반드시 return 값이 있어야 한다.
function get MyVar():String
{
return sVar;
}

// set 함수는 반드시 하나의 파라미터를 가지고 있어야 한다. 리턴 타입 없음

function set MyVar(mVar:String):void
{
sVar = mVar;
}

trace(MyVar); // default value
MyVar = "nkdk";
trace(MyVar); // nkdk 나오겠죠? :)

뭐 이 정도면 간단한 설명 정도는 끝났네요.

여기서 산술연산자
+, -, *, / , %
증가연산자
++i, i++, --i, i--;
할당연산자
a = b; a+= b; a-=b; a*=b; a/=b; a%=b;
shift연산자:
<<= Left 연산후 결과 할당
>>= Right 연산후 결과 할당
>>>= unsigned right shift 연산후 결과 할당
비트연산자:
&=, ^=, |=
논리연산자
a||b, a or b, a&&b, a and b, a = !b, a = b xor c
관계연산자
<, >, <=, >=, as, in, instanceof, is, ==, !=, ===, !==

는 생략합니다. ^^ 책 보세요 똑같습니다.