좋게 말하면 Advanced Topic이지만, 사실은 알아도 별 도움은 안되는 내용을 잠깐 다루어볼까요.

아마 Flex와 ActionScript를 처음 접하시는 분들 중에는, 가변 길이인 String이 어떻게 primitive data type이 될 수 있는지 의아했던 분들이 계실 겁니다. (대부분의 객체 지향 언어에서 primitive data type들은 고정 길이지요.)

보통의 객체 지향 언어에서는 일반적으로, primitive data type은 reference가 아닌 value 그 자체로 다룹니다만, 유독 ActionScript 3.0의 경우에는 모든 데이터가 reference로 처리가 됩니다.[각주:1] 즉, ActionScript는 primitive조차도 reference로 처리를 하기 때문에, 가변 길이인 String가 primitive data type이 되어도 별 문제가 없습니다. (물론, 이와 같은 경우가 아니라도, 딱히 가변 길이의 primitive가 불가능하거나 한 것은 또 아닙니다. 몇 마디로 설명하기에 다소 복잡한 문제이긴 합니다만..)

그런데, 또 primitive data type의 실제 동작을 보면, 마치 pass by reference가 아닌 pass by value처럼 보이지요. (아래는 LiveDocs에서 발췌한 예입니다.)

function passPrimitives(xParam:int, yParam:int):void
{
    xParam++;
    yParam++;
    trace(xParam, yParam);
}

var xValue:int = 10;
var yValue:int = 15;
trace(xValue, yValue);// 10 15
passPrimitives(xValue, yValue); // 11 16
trace(xValue, yValue);// 10 15

위와 같은 동작 때문에, primitive data type은 Value로 처리되는 것이 아니냐고 생각하시는 분들이 계시겠습니다만, 이는 primitive data type에 대해서만 특별히 이와 같이 보이도록 별도의 구현이 되어있는 것이며, 실제로 primitives를 포함한 모든 인자는 pass by reference로 처리가 됩니다.

어쨌든 표면적으로는 아무런 차이가 없으므로, 이와 같은 내용을 알지 못하여도, 개발하는데 별 지장은 없을 것입니다.

Reference


마치며 덧붙임

한동안 글이 뜸했지요.  얼마 전, 전원 주택으로 이사를 했는데, 접지 문제에서부터 시작해서 인터넷 회선까지, 개발하고 관련된 모든 환경이 엉망이라서, 몇 주 동안 개발을 끊(?)고 살았었습니다.

다시 조금씩 일을 손에 쥐어보곤 있습니다만, 포스팅을 자주 하게 될 지는 아직 잘 모르겠네요.


  1. Reference - [LiveDocs] Function parameters 참고 [본문으로]
저작자 표시 비영리 변경 금지
Posted by 찬익

트랙백 주소 : http://blog.chanik.com/trackback/120 관련글 쓰기

댓글을 달아 주세요

  1. 라피르 2010/07/19 13:25  댓글주소  수정/삭제  댓글쓰기

    오호홋.. 간만에 안녕하세요..^^

    복날입니다~!

    닭드세요~~~~~~

    ps. 이사 축하드려요~~

  2. BlogIcon 이민철 2010/07/20 13:16  댓글주소  수정/삭제  댓글쓰기

    좋은 내용 고맙습니다!

  3. BlogIcon vulcan 2010/07/20 16:50  댓글주소  수정/삭제  댓글쓰기

    전원주택에서의 자유로움.. 부럽당

    • BlogIcon 찬익 2010/07/22 01:37  댓글주소  수정/삭제

      저도 그럴 줄 알았는데, 하루에 반은 집안 일에 묶여있어야 하더군요.
      집사를 따로 두기 전에야, 그다지 좋은 선택은 아닌 듯.

언행일치

잡담 2010/06/02 15:03

투표합시다

시간이 남아 돌아서 투표하는 사람 없습니다. 바쁜 시간 쪼개 투표하고, 하고 싶은 것 조금 참고 투표하고, 지친 몸 이끌고 투표하는 사람들이 대부분 입니다. 입으로만 대한민국의 미래를 걱정하고, 정작 선거일에는 나몰라라, 이건 아닙니다.

추가적으로

올해에는 아무리 뽑을 사람이 없어도 무효표는 내지 맙시다. 1인 8표제로 인해 의도하지 않은 무효표도 많을 것이라, 언론이나 정치권 등에서는 무효표를 무언의 항의로 해석하려 하진 않을 것입니다.

저작자 표시 비영리 변경 금지

'잡담' 카테고리의 다른 글

언행일치  (0) 2010/06/02
딜레마 on 04/07/2010  (6) 2010/04/07
잡담 on 04/04/2010  (2) 2010/04/04
외국인 노동자  (2) 2010/03/24
노하우 공개에 대하여  (5) 2010/03/11
Posted by 찬익

트랙백 주소 : http://blog.chanik.com/trackback/116 관련글 쓰기

댓글을 달아 주세요

예상은 했지만

Issue 2010/05/28 21:36

2009년, 특허를 출원 후 해외의 몇몇 유명 글로벌 기업들에 제안을 넣었더랍니다. 관심을 보이는 곳도 있었고, 아예 답장조차 없던 곳도 있었지요.

최근 인터넷에서 검색을 해보니, 답장이 없던 두 개 기업에서, 제안 내용과 유사한 서비스를 런칭하였거나, 또는 런칭을 준비중이더군요.

보다 쿨하게 협업하여, 보다 더 발전된 서비스를 만들 수 있었으면 했는데, 여러모로 많이 아쉽습니다.

저작자 표시 비영리 변경 금지
Posted by 찬익

트랙백 주소 : http://blog.chanik.com/trackback/115 관련글 쓰기

댓글을 달아 주세요