책 소개
지은이의 글 액션스크립트는 어도비 플래시 플랫폼의 공식 프로그래밍 언어다. 처음에는 애니메이션을 제어할 용도로 고안되었지만, 이후 웹, 모바일 기기, 데스크톱 컴퓨터에 배포하는 콘텐트와 애플리케이션을 개발하는 정교한 프로그래밍 언어로 발전했다. 시작 취지에 걸맞게, 액션스크립트는 오늘날 수많은 방면의 서로 다른 프로그래머와 콘텐트 제작자들이 사용하고 있다. 예를 들어, 애니메이션 제작자는 몇 줄의 액션스크립트를 사용해 웹 애니메이션을 재생하거나 멈추고 있고, 휴대폰 UI 디자이너는 수백 줄의 액션스크립트 코드를 사용해 휴대폰에 인터랙션 효과를 주고 있다. 또 애플리케이션 개발자는 수천 줄의 액션스크립트 코드를 사용해 웹 브라우저와 데스크톱 환경에서 이메일을 읽어주는 애플리케이션을 만들고 있다. 이 책은 액션스크립트 프로그래밍의 원리와 관련된 방대한 주제를 매우 상세한 설명과 더불어 명료하고 정확하게 설명한다. 이 책에서 제공하는 설명의 정확성과 깊이는 약 10년에 걸쳐 하루도 빠짐없이 이루어진 액션스크립트 연구와 실제 프로그래밍 경험 그리고 어도비 본사 개발자들과의 교류를 통한 결과다. 이 책에 사용된 단어들은 모두 매우 신중히 검토되었으며 플래시 플레이어, 플렉스 빌더, 플래시 저작 도구 팀을 포함한 어도비의 주요 엔지니어들도 수차례나 검토했다. (지은이의 글 중 ‘감사의 글’ 부분을 참고하라.) 초보 개발자를 위한 글 이 책은 프로그래머를 대상으로 액션스크립트를 설명하는 책이지만 사전 프로그래밍 지식을 전제하지는 않는다. 만일 여러분이 이전에 전혀 프로그래밍 지식이 없다면, 1장부터 시작하자. 1장에서 여러분은 액션스크립트의 기본 개념들을 익힐 수 있음은 물론 변수, 메서드, 클래스, 객체와 같은 다양한 용어들의 의미를 제대로 이해할 수 있을 것이다. 그 다음부터는 차례대로 책을 읽을 것을 권한다. 각 장은 이전 장에서 배운 지식들을 바탕으로 구성되어 있으며, 장마다 단일 주제를 상세하게 설명하여 액션스크립트에 대한 정확한 이해를 돕고 있다. 하지만 만일 여러분이 플래시 저작 도구에서 애니메이션을 제어하길 원하는 디자이너라면, 굳이 이 책이 필요하지는 않을 것이다. 어도비의 문서에 이미 여러분이 알고 싶어하는 내용이 모두 정리되어 있기 때문이다. 여러분이 여러분의 콘텐트에 로직을 추가하거나 프로그래밍적인 요소를 가미할 때 이 책은 구매해서 읽더라도 늦지 않을 것이다. 전문 개발자를 위한 글 여러분이 기존에 액션스크립트를 가지고 개발한 경험이 있다면, 공식 용어를 사용하여 이전에 배운 지식을 가다듬을 수 있고, 쉽고 정확한 용어를 통해 까다로운 주제들을 이해할 수도 있을 것이다. 이 책을 여러분과 나란히 책상에 앉아있는 액션스크립트 전문가라고 생각해도 좋다. 여러분은 여러분 옆에 앉아있는 전문가에게 액션스크립트의 이벤트 아키텍처나 플래시 보안 시스템의 미묘한 부분, 액션스크립트의 XML 지원 등 어려운 주제들을 언제든 물어볼 수 있다. 또 이 책을 통해 여러분은 네임스페이스, 임베디드 폰트, 로드된 콘텐트 접근, 클래스 라이브러리 배포, 가비지 컬렉션, 화면 업데이트 등 문서화되지 않은 주제들에 대한 정보도 얻을 수 있다. 이 책은 개발자들의 지침서로서 손색이 없을 것이다. 이 책에는 실용적인 설명과 혜안이 담긴 경고들 그리고 일을 올바로 처리하는 법을 보여주는 예제 코드가 가득 들어있다. 책의 내용 이 책은 크게 3부로 나뉜다. 1부 「액션스크립트 기초부터 시작하기」에서는 객체 지향 프로그래밍, 클래스, 객체, 변수, 메서드, 함수, 상속, 데이터 타입, 배열, 이벤트, 예외, 스코프, 네임스페이스, XML을 포함해 액션스크립트 언어의 핵심 요소들에 대해 다양하게 설명한다. 1부의 끝에서는 플래시 플레이어의 보안 아키텍처를 다룬다. 2부 「화면 표시와 상호 작용」에서는 콘텐트를 화면에 표시하고 입력 이벤트에 반응하는 기술을 살펴본다. 여기에서는 플래시 런타임 디스플레이 API, 계층적 이벤트 다루기, 마우스와 키보드를 통한 상호 작용, 애니메이션, 벡터 그래픽, 비트맵 그래픽, 문자열, 콘텐트 불러오기에 대해 다룬다. This book closes with a walkthrough of a fully functional example program.a virtual zoo. 3부 「액션스크립트 응용」에서는 액션스크립트 코드 생산 이슈에 대해 다룬다. 액션스크립트와 플래시 저작 도구를 이용한 자원 만들기, 플렉스 빌더 2의 플렉스 프레임워크, 사용자 코드 라이브러리 만들기를 다룰 것이다. 이 책은 가상 동물원 프로그램의 완성된 전체 코드를 살펴보면서 끝을 맺는다. 이 책에서 다루지 않는 내용 액션스크립트 환경은 방대하다. 한 권의 책으로 액션스크립트와 관련한 주제를 모두 다루기란 불가능하다. 이 책에서 자세히 다루지 않는 주제들을 정리하면 다음과 같다. . MXML . 플렉스 프레임워크 . 플렉스 데이터 서비스(FDS) . 플래시 저작 도구의 내장 컴포넌트 . 플래시 미디어 서버 . 플래시 리모팅 이러한 주제들과 관련해서는 어도비의 문서나 http://www.oreilly.com/store/series/adl.csp에서 오라일리의 어도비 개발자 라이브러리를 참고하기 바란다. 저작 도구에 대한 설명 배제 이 책은 액션스크립트 3.0 개발 환경과 액션스크립트 3.0을 지원하는 모든 런타임에 적용할 수 있는 핵심 액션스크립트 개념들을 다룬다. 하지만 이 책에서는 가급적 특정 개발 도구와 관련한 설명은 피하고, 개발 도구의 사용법보다는 프로그래밍 개념 설명에 중점을 두었다. 이와 별개로, 29장에서는 플래시 저작 도구에서 액션스크립트를 사용하는 법을 다루었고, 30장에서는 플렉스 프레임워크와 플렉스 빌더 2의 기본적인 사용법을 다루었다. 마찬가지로 7장에서도 서로 다른 개발 도구(플래시, 플렉스 빌더 2, mxmlc)에서 프로그램을 컴파일하는 법을 다룬다. 이제 액션스크립트 언어에 다시 집중해 보자. 이어지는 절에서는 숙련된 프로그래머를 위한 액션스크립트 3.0의 기술 소개 내용이 들어있다. 프로그래밍을 처음 접하는 독자라면, 중간 부분은 건너뛰고 바로 1장을 보면 된다. 액션스크립트 개요 액션스크립트 3.0은 (플래시 플레이어나 어도비 AIR와 같은) 플래시 클라이언트 런타임에서 구동되는 애플리케이션이나 멀티미디어 콘텐트를 생성하기 위한 객체 지향 언어다. 자바나 C#의 문법을 알고 있는 독자라면, 액션스크립트 언어의 문법도 익숙하리라 생각한다. 예를 들어, 다음은 int(정수) 타입의 width라는 변수를 생성하고 값에 25를 대입하는 코드다. var width:int = 25; 아울러 다음은 for 순환문을 생성하고 10까지 수를 세는 코드이다. for (var i:int = 1; i 핵심 언어 요소 액션스크립트 3.0의 핵심 언어 요소는 ECMAScript의 네 번째 언어 스펙을 바탕으로 하고 있다. 이 규격은 2007년 5월 현재 아직 개발이 진행 중이다. ECMAScript 4 규격은 http://developer. mozilla.org/es4/spec/spec.html에서 확인할 수 있다. 액션스크립트 3.0 규격은 http://livedocs.macromedia.com/specs/actionscript/3에서 확인 가능하다. 미래에는, 액션스크립트가 ECMAScript 4를 완벽히 구현할 것이라 예상된다. 액션스크립트와 마찬가지로, 인기있는 웹 브라우저 언어인 자바스크립트도 ECMAScript를 기반으로 하고 있다. 파이어폭스 3.0 웹 브라우저는 액션스크립트와 코드 베이스가 동일한 자바스크립트 2.0을 구현할 것으로 생각된다. 액션스크립트 언어는 2006년 11월에 어도비가 모질라 재단에 기증했다(보다 자세한 사항은, http://www.mozilla.org/projects/tamarin을 참고하기 바란다). (옮긴이) 현재 파이어폭스의 최신 버전은 3.5이지만, 아직까지 자바스크립트 2.0은 파이어폭스 브라우저에 구현되지 않았다. ECMAScript 4에서는 표현식, 명령문, 변수, 함수, 클래스, 객체 등을 생성할 때 필요한 액션스크립트의 형식과 문법을…
목차펼치기접기
1부 1장 핵심 개념 1.1 액션스크립트 코드를 작성할 때 사용할 도구 1.2 플래시 클라이언트 런타임 환경 1.3 컴파일링 1.3.1 JIT(Just-In-Time) 컴파일링 1.4 내용 정리 1.5 클래스와 객체 1.6 프로그램 생성하기 1.7 패키지 1.8 클래스 선언하기 1.8.1 클래스 접근 제한자 1.9 VirtualZoo 내용 정리 1.10 생성자 메서드 1.11 객체 생성하기 1.11.1 리터럴 형식 1.11.2 객체 생성 예제 - 가상 동물원에 동물 추가하기 1.12 변수와 값 1.12.1 지역 변수 1.12.2 인스턴스 변수 인스턴스 변수의 접근 제한자 1.13 생성자 파라미터와 인자 1.14 표현식 1.15 변수 값을 다른 변수에 대입하기 1.15.1 복사와 참조 1.16 동물에 인스턴스 변수 적용하기 1.17 인스턴스 메서드 1.17.1 인스턴스 메서드 접근 제한자 1.17.2 메서드 파라미터와 인자 1.17.3 메서드 반환 값 1.17.4 메서드 시그너처 1.18 맴버와 속성 1.19 가상 동물원 내용 정리 1.20 쉬어가는 시간! 2장 조건문과 순환문 2.1 조건문 2.1.1 if 문 else가 없는 if 문 연쇄적인 if 문 2.1.2 switch 문 2.2 순환문 2.2.1 while 문 2.2.2 순환문을 사용한 목록 처리 2.2.3 break 문을 사용해 순환문 끝내기 2.2.4 do-while 문 2.2.5 for 문 2.3 Boolean 로직 2.3.1 논리적 OR 2.3.2 논리적 AND 2.3.3 논리적 NOT 2.4 다시 클래스와 객체로 3장 인스턴스 메서드 다시 배우기 3.1 this 키워드의 생략 3.1.1 파라미터명과 변수명의 이름 충돌 관리 3.2 바운드(Bound) 메서드 3.3 메서드를 사용해 객체의 상태 관찰하고 수정하기 3.4 get 메서드와 set 메서드 3.5 임의 개수의 파라미터 처리하기 3.6 다음 주제 : 클래스 레벨의 정보와 행동 4장 static 변수와 static 메서드 4.1 static 변수 4.2 상수 4.3 static 메서드 4.3.1 클래스 초기자 4.4 클래스 객체 4.5 C++, 자바와의 용어 비교 4.6 이어서 함수로 5장 함수 5.1 패키지 레벨 함수 5.1.1 전역 함수 5.2 중첩 함수 5.3 소스 파일 레벨 함수 5.4 함수 내에서 정의에 접근하기 5.5 값으로서의 함수 5.6 함수 리터럴 형식 5.7 재귀 함수 5.8 가상 동물원 프로그램에서 함수 사용하기 5.9 다시 클래스로 6장 상속 6.1 상속의 기초 6.1.1 상속되지 않는 static 메서드와 static 변수 6.2 인스턴스 메서드 오바라이드하기 6.2.1 오버라이드된 인스턴스 메서드 호출하기 6.3 하위 클래스의 생성자 메서드 6.4 클래스의 상속과 메서드의 오버라이드 막기 6.5 내장 클래스의 하위 클래스 만들기 6.6 상속 이론 6.6.1 왜 상속인가? 6.6.2 다형성과 동적 바인딩 6.6.3 상속 대 합성 Is-A, Has-A, Uses-A 상속보다는 합성을 사용해야 할 때 6.7 지원되지 않는 추상클래스 6.8 가상 동물원 프로그램에서 상속 사용하기 6.8.1 동물의 음식 종류 생성하기 6.8.2 화면 표시를 위해 VirtualZoo 클래스 준비하기 6.9 가상 동물원 프로그램 코드 6.10 이제 런타임이다! 7장 프로그램 컴파일과 실행 7.1 플래시 저작 도구에서 컴파일하기 7.2 플렉스 빌더 2에서 컴파일하기 7.2.1 메인 클래스를 이름없는 패키지로 옮기기 7.2.2 프로그램 컴파일하기 7.2.3 프로그램 실행하기 7.3 mxmlc로 컴파일하기 7.4 컴파일러의 제약 7.5 컴파일 과정과 클래스패스 7.6 엄격한 컴파일 모드 대 표준 컴파일 모드 7.6.1 플렉스 빌더 2에서 표준 컴파일 모드 활성화하기 7.6.2 플래시 저작 도구에서 표준 컴파일 모드 활성화하기 7.7 재미있는 부분은 지금부터 8장 데이터 타입과 타입 검사 8.1 데이터 타입과 타입 지정 8.1.1 호환 가능한 타입 8.1.2 타입 어노테이션으로 타입 불일치 에러 알아내기 8.2 타입이 미지정된 변수, 파라미터, 반환 값, 표현식 8.3 엄격한 컴파일 모드의 세 가지 특별 경우 8.4 타입 어노테이션 생략에 대한 경고 8.5 컴파일 타임에 참조 에러 발견하기 8.6 캐스팅 8.6.1 원치않는 타입 불일치 오류 피하기 8.6.2 업캐스팅과 다운캐스팅 8.6.3 as 연산자를 사용해 Date와 Array로 캐스팅하기 8.7 원시 타입으로의 변환 8.8 디폴트 변수 값 8.9 null과 undefined 8.10 가상 동물원 프로그램에서의 데이터 타입 8.11 또 다른 데이터 타입 관련 주제로 9장 인터페이스 9.1 인터페이스가 필요한 경우 9.2 인터페이스와 멀티데이터 타입 클래스 9.3 인터페이스 구문과 사용법 9.3.1 인터페이스 네이밍 관례 9.3.2 인터페이스 상속 9.3.3 마커 인터페이스 9.4 또 다른 멀티 타입 예제 9.5 배워야할 기본 지식이 더 남아 있다 10장 명령문과 연산자 10.1 명령문 10.2 연산자 10.2.1 피연산자의 개수 10.2.2 연산자 우선순위 10.2.3 연산자 결합성 10.2.4 데이터 타입과 연산자 10.2.5 연산자 내용 정리 10.3 이어질 내용 - 정보의 목록 관리하기 11장 배열 11.1 배열이란 무엇인가? 11.2 배열에 대한 해부 11.2.1 배열 요소 11.2.2 배열 요소의 인덱스 11.2.3 배열의 크기 11.3 배열 생성하기 11.3.1 배열 리터럴로 배열 생성하기 11.3.3 new 연산자를 사용해 새로운 배열 생성하기 11.4 배열 요소 참조하기 11.4.1 배열 요소의 값 알아오기 11.4.2 배열 요소의 값 설정하기 11.5 배열의 크기 알아오기 11.6 배열에 요소 추가하기 11.6.1 새로운 요소를 직접 추가하기 11.6.2 length 변수를 사용해 새로운 요소 추가하기 11.6.3 Array 메서드를 사용해 새로운 요소 추가하기 push( ) 메서드 unshift( ) 메서드 splice( ) 메서드 concat( ) 메서드 11.7 배열에서 요소 제거하기 11.7.1 delete 연산자로 배열 요소 제거하기 11.7.2 length 변수를 통해 배열 요소 제거하기 11.7.3 Array 메서드를 사용해 배열 요소 제거하기 pop( ) 메서드 shift( ) 메서드 splice( ) 메서드 11.8 toString( ) 메서드를 사용해 배열의 내용 확인하기 11.9 다차원 배열 11.10 이벤트로… 12장 이벤트와 이벤트 처리 12.1 액션스크립트 이벤트 기본 12.1.1 이벤트에 이벤트 리스너 등록하기 1 단계: 이벤트 유형의 이름을 파악 2 단계: 이벤트 객체의 데이터 타입 정하기 3 단계: 이벤트 리스너 생성 4 단계: 이벤트 등록하기 5 단계: 이벤트가 발생하기를 기다린다 12.1.2 이벤트를 등록하는 두 개의 추가 예제 12.1.3 이벤트 리스너 제거하기 12.1.4 이벤트 관련 어휘 복습 12.2 타깃 객체 접근하기 12.3 이벤트 리스너를 등록한 객체에 접근하기 12.4 디폴트 이벤트 행동 막기 12.5 이벤트 리스너 우선순위 12.6 이벤트 리스너와 메모리 관리 12.6.1 약한 리스너 참조 12.7 커스텀 이벤트 12.7.1 커스텀 gameOver 이벤트 12.7.2 커스텀 toggle 이벤트 12.7.3 커스텀 이벤트의 디폴트 행동 막기 12.8 액션스크립트 이벤트 설계의 타입 취약점 12.9 보안 경계 사이에서 이벤트 처리하기 12.9.1 Main.swf 객…
출처: 국립중앙도서관 서지정보
리뷰 남기기
로그인하면 리뷰를 남길 수 있어요.
리뷰 0개
아직 리뷰가 없어요.
